forked from Lesin/reposync
|
||
---|---|---|
.devops | ||
doc | ||
extras/obfastapi | ||
logs | ||
script | ||
sql | ||
src | ||
sync | ||
web | ||
.gitignore | ||
API.md | ||
Dockerfile | ||
Documentation.md | ||
LICENSE | ||
Makefile | ||
README-CN.md | ||
README.md | ||
boot | ||
env.ini.example | ||
main.py | ||
requirement.txt | ||
sync.py |
README.md
ob-repository-synchronize
Description
ob-repository-synchronize is a small tool which can help engineer to master their open source production's code synchronization between GitHub, Gitee, CodeChina, internal repository and so on.
add text...test...ok
Principle
Base on git rebase

Base on git diff

backend
requirement
name | version | necessity |
---|---|---|
python | 3.9 | True |
uvicorn | 0.14.0 | True |
SQLAlchemy | 1.4.21 | True |
fastapi | 0.66.0 | True |
aiohttp | 3.7.4 | True |
pydantic | 1.8.2 | True |
starlette | 0.14.2 | True |
aiomysql | 0.0.21 | True |
requests | 2.25.1 | True |
loguru | 0.6.0 | True |
typing-extensions | 4.1.1 | True |
aiofiles | 0.8.0 | True |
how to install
[!NOTE] Run the code in python 3.9
pip3 install -r requirement.txt
python3 main.py
run the sync script locally
python3 sync.py
frontend
docker
docker pull XXX:latest
docker run -p 8000:8000 -d XXX bash start.sh -s backend
How to use it
- Config your database
- Run the table.sql script in sql folder
- Config the database connection string in src/base/config.py
- Config your repo address, branch, (todo token) by website

- DIY yourself sync script (Refer the two example in sync folder) and run the sync script under a cronjob you should consider:
- http address or ssh address (how to add your ssh key)
- rebase logic or diff logic
- which cronjob (maybe the k8s cronjob or linux system crontab)