Compare commits
32 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
da19306d4b | |
|
|
cc28da9957 | |
|
|
b2d03b7a43 | |
|
|
3e5ab8a4ed | |
|
|
4d6ec54d35 | |
|
|
afd9afc8c0 | |
|
|
033e83f28a | |
|
|
381c4758f2 | |
|
|
3578a24a8c | |
|
|
7cbf595cf4 | |
|
|
c71c42da28 | |
|
|
18879e4b54 | |
|
|
32ea232bb0 | |
|
|
e342d670ae | |
|
|
84a50b65c0 | |
|
|
4f3196388b | |
|
|
9aa5006b62 | |
|
|
b6ec3d6b89 | |
|
|
a8aa48c3ee | |
|
|
e173b7bbd2 | |
|
|
e1e9731ec7 | |
|
|
fb03b4ad24 | |
|
|
654db231ee | |
|
|
6e0662821d | |
|
|
dadb8b4f56 | |
|
|
588574c55d | |
|
|
015a78d68d | |
|
|
662f4e659f | |
|
|
5c31d1169a | |
|
|
2b59bf1c00 | |
|
|
72777daa74 | |
|
|
618c9b252f |
|
|
@ -0,0 +1,57 @@
|
|||
version: 2
|
||||
name: 未命名项目
|
||||
description: ""
|
||||
global:
|
||||
concurrent: 1
|
||||
trigger:
|
||||
webhook: gitlink@1.0.0
|
||||
event:
|
||||
- ref: push
|
||||
ruleset-operator: AND
|
||||
workflow:
|
||||
- ref: start
|
||||
name: 开始
|
||||
task: start
|
||||
- ref: end
|
||||
name: 结束
|
||||
task: end
|
||||
needs:
|
||||
- ssh_cmd_0
|
||||
- ref: git_clone_0
|
||||
name: git clone
|
||||
task: git_clone@1.2.9
|
||||
input:
|
||||
remote_url: '"https://gitlink.org.cn/young/reposync.git"'
|
||||
ref: '"refs/heads/master"'
|
||||
commit_id: '""'
|
||||
depth: 1
|
||||
needs:
|
||||
- start
|
||||
- ref: docker_image_build_0
|
||||
name: docker镜像构建
|
||||
task: docker_image_build@1.6.0
|
||||
input:
|
||||
docker_username: ((dockerhub.zhanghao))
|
||||
docker_password: ((dockerhub.mima))
|
||||
image_name: '"viletyy/reposyncer"'
|
||||
image_tag: '"latest"'
|
||||
registry_address: '""'
|
||||
docker_file: git_clone_0.git_path+"/Dockerfile"
|
||||
docker_build_path: git_clone_0.git_path
|
||||
workspace: git_clone_0.git_path
|
||||
image_push: true
|
||||
build_args: '""'
|
||||
needs:
|
||||
- git_clone_0
|
||||
- ref: ssh_cmd_0
|
||||
name: ssh执行命令
|
||||
task: ssh_cmd@1.1.1
|
||||
input:
|
||||
ssh_private_key: ((sshkey.hehui))
|
||||
ssh_ip: '"123.59.135.93"'
|
||||
ssh_port: '"30122"'
|
||||
ssh_user: '"root"'
|
||||
ssh_cmd: '"ssh -p 30122 root@10.9.151.72 sh update_reposync.sh"'
|
||||
needs:
|
||||
- docker_image_build_0
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
version: 2
|
||||
name: 测试
|
||||
description: ""
|
||||
global:
|
||||
concurrent: 1
|
||||
workflow:
|
||||
- ref: start
|
||||
name: 开始
|
||||
task: start
|
||||
- ref: end
|
||||
name: 结束
|
||||
task: end
|
||||
needs:
|
||||
- ssh_cmd_0
|
||||
- ref: ssh_cmd_0
|
||||
name: ssh执行命令
|
||||
on-failure: ignore
|
||||
task: ssh_cmd@1.1.1
|
||||
input:
|
||||
ssh_private_key: ((sshkey.hehui))
|
||||
ssh_ip: '"123.59.135.93"'
|
||||
ssh_port: '"30122"'
|
||||
ssh_user: '"root"'
|
||||
ssh_cmd: '"ssh -p 30122 root@10.9.151.72 sh update_reposync.sh"'
|
||||
needs:
|
||||
- start
|
||||
|
||||
|
|
@ -4,6 +4,8 @@
|
|||
|
||||
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
|
||||
|
|
@ -56,11 +58,6 @@ aiofiles|0.8.0|True
|
|||
|
||||
`docker run -p 8000:8000 -d XXX bash start.sh -s backend`
|
||||
|
||||
## docker by gitlink
|
||||
`docker load -i reposync.tar`
|
||||
|
||||
`docker run -it -d -e CEROBOT_MYSQL_HOST='127.0.0.1' -e CEROBOT_MYSQL_PORT=3306 -e CEROBOT_MYSQL_USER=root -e CEROBOT_MYSQL_PWD='12345678' -e CEROBOT_MYSQL_DB='reposyncer' -e BOOT_MODE='app' -p 8089:8000 --name reposyncer_app reposync:v2.0`
|
||||
|
||||
## How to use it
|
||||
|
||||
1. Config your database
|
||||
|
|
|
|||
|
|
@ -302,13 +302,20 @@ class LogDAO(BaseDAO, metaclass=Singleton):
|
|||
do_list: List[LogDO] = (await session.execute(query)).scalars().all()
|
||||
datas = []
|
||||
for do in do_list:
|
||||
stmt_query = select(SyncRepoMapping).where(SyncRepoMapping.repo_name == do.repo_name).limit(1)
|
||||
stmt = (await session.execute(stmt_query)).scalars().all()
|
||||
log_str = do.log
|
||||
if len(stmt) > 0 and stmt[0].exter_token:
|
||||
log_str = log_str.replace(stmt[0].exter_token, "******")
|
||||
if len(stmt) > 0 and stmt[0].inter_token:
|
||||
log_str = log_str.replace(stmt[0].inter_token, "******")
|
||||
data = LogDTO(
|
||||
id=do.id,
|
||||
branch_id=do.branch_id,
|
||||
repo_name=do.repo_name,
|
||||
commit_id=do.commit_id,
|
||||
sync_direct=do.sync_direct.name,
|
||||
log=str(do.log),
|
||||
log=str(log_str),
|
||||
created_at=str(do.created_at),
|
||||
update_at=str(do.update_at)
|
||||
)
|
||||
|
|
|
|||
|
|
@ -96,18 +96,13 @@ def inter_to_outer(repo, branch, log_name: str, user: str, force_flag):
|
|||
# 切换到inter_name分支,并将internal仓库的分支强制 checkout 到当前分支。
|
||||
shell(f"git checkout -B {inter_name} internal/{inter_name}", repo_dir, log_name, user)
|
||||
# 将本地仓库的inter_name分支推送到external仓库的outer_name分支上。
|
||||
if force_flag:
|
||||
shell(f"git push --force external {inter_name}:{outer_name}", repo_dir, log_name, user)
|
||||
else:
|
||||
shell(f"git push external {inter_name}:{outer_name}", repo_dir, log_name, user)
|
||||
shell(f"git push -f external {inter_name}:{outer_name}", repo_dir, log_name, user)
|
||||
# commit id
|
||||
# result = shell(f"git log HEAD~1..HEAD --oneline", repo_dir, log_name, user)
|
||||
# commit_id = result.stdout.split(" ")[0]
|
||||
result = shell(f'git log -1 --format="%H"', repo_dir, log_name, user)
|
||||
commit_id = result.stdout[0:7]
|
||||
result2 = shell(f'git log -1 --format=%s', repo_dir, log_name, user)
|
||||
msg = result2.stdout[0:50]
|
||||
sync_log(LogType.INFO, f'[COMMIT ID: {commit_id}, msg: {msg}...]', log_name, user)
|
||||
sync_log(LogType.INFO, f'[COMMIT ID: {commit_id}]', log_name, user)
|
||||
return commit_id
|
||||
except Exception as e:
|
||||
raise
|
||||
|
|
@ -123,18 +118,13 @@ def outer_to_inter(repo, branch, log_name: str, user: str, force_flag):
|
|||
# 切换到本地仓库的outer_name分支,并将origin仓库的outer_name分支强制 checkout 到当前分支。
|
||||
shell(f"git checkout -B {outer_name} external/{outer_name}", repo_dir, log_name, user)
|
||||
# 将本地仓库的outer_name分支推送到internal仓库的inter_name分支上。
|
||||
if force_flag:
|
||||
shell(f"git push --force internal {outer_name}:{inter_name}", repo_dir, log_name, user)
|
||||
else:
|
||||
shell(f"git push internal {outer_name}:{inter_name}", repo_dir, log_name, user)
|
||||
shell(f"git push -f internal {outer_name}:{inter_name}", repo_dir, log_name, user)
|
||||
# commit id
|
||||
# result = shell(f"git log HEAD~1..HEAD --oneline", repo_dir, log_name, user)
|
||||
# commit_id = result.stdout.split(" ")[0]
|
||||
result = shell(f'git log -1 --format=%h', repo_dir, log_name, user)
|
||||
commit_id = result.stdout[0:7]
|
||||
result2 = shell(f'git log -1 --format=%s', repo_dir, log_name, user)
|
||||
msg = result2.stdout[0:50]
|
||||
sync_log(LogType.INFO, f'[COMMIT ID: {commit_id}, msg: {msg}...]', log_name, user)
|
||||
sync_log(LogType.INFO, f'[COMMIT ID: {commit_id}]', log_name, user)
|
||||
return commit_id
|
||||
except Exception as e:
|
||||
raise
|
||||
|
|
|
|||
Loading…
Reference in New Issue