Add 跨平台代码同步服务/操作手册

This commit is contained in:
maxjhandsome 2024-05-11 15:11:05 +08:00
parent e057631cb6
commit 1844d84e0c
1 changed files with 69 additions and 0 deletions

View File

@ -0,0 +1,69 @@
### 功能简介
跨平台仓库代码同步服务用于不同代码托管平台之间的仓库代码双向同步功能。用户将不同平台的仓库分支进行绑定当任意仓库分支有push事件被webhook监听时代码推送将实时自动同步至另一个仓库以实现不同平台之间分支、提交信息的自动同步代码托管平台仅限于github与gitee
![](/api/attachments/0509c679-dbb0-47d7-94d5-2a07b0912db7)
同步服务既满足双平台代码库分支同步需求,也支持最多创建三个平台的代码仓库同步,如下图所示
![](/api/attachments/3679de42-8b01-4d9c-ba6e-8cfc4ea9b553)
### 配置双向同步
1、进入需要创建同步的代码库“服务”tab开通跨平台代码同步服务。
![](/api/attachments/0ff1ec0c-ed60-40f0-9920-1019f4cd22d8)
2、配置跨平台的同步仓库支持github和gitee。需输入代码库地址git地址和网站访问地址均支持以及配置对应token用于授权同步此处须注意token的权限以及是否过期。
Github配置方式为个人头像→Settings→Developer Settings→Personal access tokens (classic)→Generate new token→勾选repo按钮→保存
Github配置方式为个人头像→设置→私人令牌→生成新令牌→勾选projects权限→提交
![](/api/attachments/84e0aaa5-5b06-4b50-8d62-d1840083e1fd)
3、在首次创建同步仓库时需要用户手动在目标仓库的代码库创建一条webhook用于监听仓库push事件从而向其他同步仓库推送代码完成同步同步步骤如下
①点击“复制链接”按钮复制平台用于接收webhook请求的地址
![](/api/attachments/1af41823-53dd-40cf-9702-df05eff344a0)
②访问点击前往按钮前往目标仓库webhook页新建一个webhook以github为例
![](/api/attachments/7d67ab2d-d57f-4f18-aa64-bf112e10747b)
③粘贴链接并确保该webhook支持push事件的监听并已经成功激活
![](/api/attachments/8304779b-776b-42a0-8b39-ad2e9c609336)
4、完成仓库配置绑定后需要绑定这两个仓库的指定同步分支建立首次同步方向。<font color=red>注:首次同步的策略为单向代码强推,请谨慎选择同步方向开启同步以避免代码被覆盖</font>
![](/api/attachments/27730e31-e971-4c13-8f4d-35d0f6a1f716)
5、完成分支的绑定在绑定后会根据选择的同步方向立即执行一次同步。后续webhook监听到任意分支有代码推送会实时向另一个绑定分支同步代码推送代码
![](/api/attachments/1fb36262-09bb-4ebf-afc6-9a64fc61b88e)
### 管理同步分支
同步分支配置完成后,用户可在同步分支列表完成一系列操作
①添加绑定新的同步分支如两个仓库已建立了Develop分支需要再建立feature分支的同步可实时添加
②查询两个分支间最新一次的同步时间及同步状态。若同步失败,可在同步记录中查询日志分析失败原因
③添加同步仓库若已绑定了github的同步仓库想在gitee导入一个仓库进行开发并想完成实时多个仓库的分支同步。
④查看同步配置可用于查询同步仓库的地址GitLink 用于接受第三方webhook请求的地址以及更新token。以防token过期
⑤查询同步记录包括查看历次同步的代码变更方同步时间同步状态及对应commt id查询同步日志。
⑥中止、开启同步,相当于同步开关,可随时启停
![](/api/attachments/8e1722e5-36a0-48c2-a3f5-2b1378fe7f8b)
### 注意事项
1、在建立同步时工具将根据用户选择的首次同步方向强行推送一次代码请谨慎选择同步方向以规避代码被覆盖的风险。同步建立之后哪一方push事件触发被webhook监听将同步至另一方请勿在多仓库同时提交代码以防出现冲突
2、目前仅支持个人仓库的同步组织仓库的同步暂不支持敬请期待
3、在配置过程中请仔细检查token的权限是否已包含了仓库读写。同时请检查token是否已过期若过期请点击【查看同步配置】按钮进入页面更新此token
4、在配置过程中请仔细检查其他平台webhook的监听事件中是否包含了push事件以及webhook是否已激活