Compare commits

...

1 Commits

Author SHA1 Message Date
xxq250 9c79afcd75 gitlink特殊修改 2024-05-09 14:18:08 +08:00
6 changed files with 20 additions and 22 deletions

View File

@ -2,13 +2,13 @@ FROM centos:7
RUN yum update -y && \
yum install -y wget gcc make openssl-devel bzip2-devel libffi-devel zlib-devel
RUN wget -P /data/ob-tool https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tgz
RUN wget -P /data/ob-tool https://mirrors.huaweicloud.com/python/3.9.6/Python-3.9.6.tgz
RUN cd /data/ob-tool && tar xzf Python-3.9.6.tgz
RUN cd /data/ob-tool/Python-3.9.6 && ./configure --enable-optimizations && make altinstall
ADD ./ /data/ob-robot/
RUN cd /data/ob-robot/ && \
pip3.9 install -r /data/ob-robot/requirement.txt
pip3.9 install -r /data/ob-robot/requirement.txt -i http://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.tuna.tsinghua.edu.cn
RUN yum install -y git openssh-server

View File

@ -25,7 +25,7 @@ app.include_router(LOG)
app.include_router(AUTH)
app.include_router(SYNC_CONFIG)
app.mount("/", StaticFiles(directory="web/dist"), name="static")
# app.mount("/", StaticFiles(directory="web/dist"), name="static")
if __name__ == '__main__':
# workers 参数仅在命令行使用uvicorn启动时有效 或使用环境变量 WEB_CONCURRENCY

View File

@ -9,8 +9,7 @@ CREATE TABLE IF NOT EXISTS `sync_repo_mapping` (
`sync_granularity` enum('all', 'one') NOT NULL COMMENT '同步粒度',
`sync_direction` enum('to_outer', 'to_inter') NOT NULL COMMENT '首次同步方向',
`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '仓库绑定时间',
PRIMARY KEY (`id`),
UNIQUE KEY (`repo_name`)
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET = utf8mb4 COMMENT = '同步仓库映射表';
--
@ -38,4 +37,4 @@ CREATE TABLE IF NOT EXISTS `repo_sync_log`(
`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET = utf8mb4 COMMENT = '同步日志';
) DEFAULT CHARACTER SET = utf8mb4 COMMENT = '同步日志';

View File

@ -38,11 +38,11 @@ class SyncDirection(Controller):
dto: SyncRepoDTO = Body(..., description="绑定同步仓库信息")
):
api_log(LogType.INFO, f"用户 {user} 使用 POST 方法访问接口 {request.url.path} ", user)
if not base.check_addr(dto.external_repo_address) or not base.check_addr(dto.internal_repo_address):
return SYNCResponse(
code_status=Status.REPO_ADDR_ILLEGAL.code,
msg=Status.REPO_ADDR_ILLEGAL.msg
)
#if not base.check_addr(dto.external_repo_address) or not base.check_addr(dto.internal_repo_address):
# return SYNCResponse(
# code_status=Status.REPO_ADDR_ILLEGAL.code,
# msg=Status.REPO_ADDR_ILLEGAL.msg
# )
if dto.sync_granularity not in [1, 2]:
return SYNCResponse(code_status=Status.SYNC_GRAN_ILLEGAL.code, msg=Status.SYNC_GRAN_ILLEGAL.msg)

View File

@ -90,7 +90,7 @@ def inter_to_outer(repo, branch, log_name: str, user: str):
# 切换到inter_name分支并将internal仓库的分支强制 checkout 到当前分支。
shell(f"git checkout -B {inter_name} internal/{inter_name}", repo_dir, log_name, user)
# 将本地仓库的inter_name分支推送到external仓库的outer_name分支上。
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]
@ -112,7 +112,7 @@ def outer_to_inter(repo, branch, log_name: str, user: str):
# 切换到本地仓库的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分支上。
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]
@ -123,7 +123,6 @@ def outer_to_inter(repo, branch, log_name: str, user: str):
except Exception as e:
raise
async def sync_repo_task(repo, user):
if repo.sync_granularity == SyncType.one:
branches = await sync_branch_dao.sync_branch(repo_id=repo.id)

View File

@ -112,14 +112,14 @@ class SyncService(Service):
if repo is None:
return SYNCException(Status.REPO_NOTFOUND)
update_fields = {}
if dto.internal_repo_address is not None:
if not base.check_addr(dto.internal_repo_address):
return SYNCException(Status.REPO_ADDR_ILLEGAL)
update_fields['internal_repo_address'] = dto.internal_repo_address
if dto.external_repo_address is not None:
if not base.check_addr(dto.external_repo_address):
return SYNCException(Status.REPO_ADDR_ILLEGAL)
update_fields['external_repo_address'] = dto.external_repo_address
#if dto.internal_repo_address is not None:
#if not base.check_addr(dto.internal_repo_address):
# return SYNCException(Status.REPO_ADDR_ILLEGAL)
update_fields['internal_repo_address'] = dto.internal_repo_address
#if dto.external_repo_address is not None:
# if not base.check_addr(dto.external_repo_address):
# return SYNCException(Status.REPO_ADDR_ILLEGAL)
update_fields['external_repo_address'] = dto.external_repo_address
if dto.inter_token is not None:
update_fields['inter_token'] = dto.inter_token
if dto.exter_token is not None: