实现gitlab自动同步gitee项目和gitee项目push后触发gitlab同步的配置教程
## 配置步骤简介
- 在gitlab上使用mirror配置自动同步gitee的项目
- 在gitlab添加一个access_token
- 在gitee配置一个项目push触发gitlab同步的webhook
## 详细配置步骤
#### 在gitlab上使用mirror配置自动同步gitee的项目
1、进入需要同步项目的仓库配置页面如图:
2、配置自动同步gitee上的项目如图:
3、点击下边的save changes就保存开始同步了,自动同步是30分钟同步一次,可以手工同步点击update now,但是五分钟之类只能手工同步一次。
#### 在gitlab添加一个access_token
点击头像,进入setting,然后进入access_tokne配置页面
*** 点击 create后需要自己保存好生成的access_token,刷新压面后就会消失
#### 在gitee配置一个项目push触发gitlab同步的webhook
1、查询gitlab提供的触发mirror项目的API,参考官方提供的介绍
2、找到相关的API介绍如下图:
POST 提供的就是gitee的webhook需要的URL,但是这里只提供了部分API接口路径,因为gitlab可以自己部署,其他的部分可能不是通用的,但是在gitlab.com上调用mirror pull接口可以参考一下官方文档的实现方式。
3、结合以上两个官方文档,最后写出POST的完整URL如下:
https://gitlab.com/api/v4/projects/test%2Ftest/mirror/pull?private_token={access_token}
解释如下:
:id 这里理解为gitlab.com上的项目路径(即【用户名/项目名】,但是/在URL中需要url_encode使用%2F代替)。
{access_token} 这里替换成之前保存的字符串即可。
4、在gitee项目的管理页面配置webhook如下图,将完整的POST URL填入,点击提交即可:
5、最后点击生成的webhook 测试一下,返回结果为“200”,说明成功了,然后到gitlab上查看是否在update了。
至此简单配置教程就完啦。。。