Compare commits

...

32 Commits

Author SHA1 Message Date
viletyy da19306d4b 修复:日志关联不存在 2024-08-16 14:45:52 +08:00
viletyy cc28da9957 新增:日志token过滤 2024-08-16 11:25:09 +08:00
viletyy b2d03b7a43 Merge branch 'master' of https://gitlink.org.cn/Lesin/reposync 2024-08-16 09:43:26 +08:00
viletyy 3e5ab8a4ed 更改:静态资源移除 2024-05-16 14:54:47 +08:00
yystopf 4d6ec54d35 refactor: .devops/未命名项目.yml 2024-05-16 14:54:47 +08:00
yystopf afd9afc8c0 refactor: .devops/未命名项目.yml 2024-05-16 14:54:47 +08:00
yystopf 033e83f28a refactor: .devops/测试.yml 2024-05-16 14:54:47 +08:00
yystopf 381c4758f2 refactor: .devops/测试.yml 2024-05-16 14:54:47 +08:00
yystopf 3578a24a8c feat: .devops/测试.yml 2024-05-16 14:54:47 +08:00
yystopf 7cbf595cf4 refactor: .devops/未命名项目.yml 2024-05-16 14:54:47 +08:00
yystopf c71c42da28 refactor: .devops/未命名项目.yml 2024-05-16 14:54:47 +08:00
yystopf 18879e4b54 refactor: .devops/未命名项目.yml 2024-05-16 14:54:47 +08:00
yystopf 32ea232bb0 refactor: .devops/未命名项目.yml 2024-05-16 14:54:47 +08:00
young e342d670ae Update README.md 2024-05-16 14:54:47 +08:00
young 84a50b65c0 refactor: .devops/未命名项目.yml 2024-05-16 14:54:47 +08:00
young 4f3196388b Update README.md 2024-05-16 14:54:47 +08:00
young 9aa5006b62 refactor: .devops/未命名项目.yml 2024-05-16 14:54:47 +08:00
young b6ec3d6b89 Update README.md 2024-05-16 14:54:47 +08:00
young a8aa48c3ee refactor: .devops/未命名项目.yml 2024-05-16 14:54:47 +08:00
young e173b7bbd2 Update README.md 2024-05-16 14:54:47 +08:00
young e1e9731ec7 refactor: .devops/未命名项目.yml 2024-05-16 14:54:47 +08:00
young fb03b4ad24 Update README.md 2024-05-16 14:54:47 +08:00
young 654db231ee refactor: .devops/未命名项目.yml 2024-05-16 14:54:47 +08:00
young 6e0662821d Update README.md 2024-05-16 14:54:47 +08:00
young dadb8b4f56 refactor: .devops/未命名项目.yml 2024-05-16 14:54:47 +08:00
young 588574c55d Update README.md 2024-05-16 14:54:47 +08:00
young 015a78d68d refactor: .devops/未命名项目.yml 2024-05-16 14:54:47 +08:00
young 662f4e659f Update README.md 2024-05-16 14:54:47 +08:00
young 5c31d1169a Update README.md 2024-05-16 14:54:47 +08:00
young 2b59bf1c00 Update README.md 2024-05-16 14:54:47 +08:00
young 72777daa74 feat: .devops/未命名项目.yml 2024-05-16 14:54:47 +08:00
viletyy 618c9b252f 更改:验证以及flag_force 2024-05-16 14:54:47 +08:00
5 changed files with 96 additions and 9 deletions

View File

@ -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

27
.devops/测试.yml Normal file
View File

@ -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

View File

@ -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. 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 ## Principle
### Base on git rebase ### Base on git rebase

View File

@ -302,13 +302,20 @@ class LogDAO(BaseDAO, metaclass=Singleton):
do_list: List[LogDO] = (await session.execute(query)).scalars().all() do_list: List[LogDO] = (await session.execute(query)).scalars().all()
datas = [] datas = []
for do in do_list: 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( data = LogDTO(
id=do.id, id=do.id,
branch_id=do.branch_id, branch_id=do.branch_id,
repo_name=do.repo_name, repo_name=do.repo_name,
commit_id=do.commit_id, commit_id=do.commit_id,
sync_direct=do.sync_direct.name, sync_direct=do.sync_direct.name,
log=str(do.log), log=str(log_str),
created_at=str(do.created_at), created_at=str(do.created_at),
update_at=str(do.update_at) update_at=str(do.update_at)
) )

View File

@ -96,10 +96,7 @@ def inter_to_outer(repo, branch, log_name: str, user: str, force_flag):
# 切换到inter_name分支并将internal仓库的分支强制 checkout 到当前分支。 # 切换到inter_name分支并将internal仓库的分支强制 checkout 到当前分支。
shell(f"git checkout -B {inter_name} internal/{inter_name}", repo_dir, log_name, user) shell(f"git checkout -B {inter_name} internal/{inter_name}", repo_dir, log_name, user)
# 将本地仓库的inter_name分支推送到external仓库的outer_name分支上。 # 将本地仓库的inter_name分支推送到external仓库的outer_name分支上。
if force_flag: shell(f"git push -f external {inter_name}:{outer_name}", repo_dir, log_name, user)
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)
# commit id # commit id
# result = shell(f"git log HEAD~1..HEAD --oneline", repo_dir, log_name, user) # result = shell(f"git log HEAD~1..HEAD --oneline", repo_dir, log_name, user)
# commit_id = result.stdout.split(" ")[0] # commit_id = result.stdout.split(" ")[0]
@ -121,10 +118,7 @@ def outer_to_inter(repo, branch, log_name: str, user: str, force_flag):
# 切换到本地仓库的outer_name分支并将origin仓库的outer_name分支强制 checkout 到当前分支。 # 切换到本地仓库的outer_name分支并将origin仓库的outer_name分支强制 checkout 到当前分支。
shell(f"git checkout -B {outer_name} external/{outer_name}", repo_dir, log_name, user) shell(f"git checkout -B {outer_name} external/{outer_name}", repo_dir, log_name, user)
# 将本地仓库的outer_name分支推送到internal仓库的inter_name分支上。 # 将本地仓库的outer_name分支推送到internal仓库的inter_name分支上。
if force_flag: shell(f"git push -f internal {outer_name}:{inter_name}", repo_dir, log_name, user)
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)
# commit id # commit id
# result = shell(f"git log HEAD~1..HEAD --oneline", repo_dir, log_name, user) # result = shell(f"git log HEAD~1..HEAD --oneline", repo_dir, log_name, user)
# commit_id = result.stdout.split(" ")[0] # commit_id = result.stdout.split(" ")[0]