一、gitlab设置:
1、进入gitlab选择主页在左侧菜单的下面点击管理员按钮。
2、选择左侧菜单的设置,选择网络,在右侧选择出站请求后选择允许来自webhooks和集成对本地网络的请求

3、webhook设置
进入你自己的项目选择左侧菜单的设置,点击Webhooks在右侧点击添加新的webhook

点击后添加你的在Jenkins里生成的地址(注:当你把jenkins里的地址复制到URL里后,必须在后面加 /build)、Secret令牌。出发来源这里了只选择推送事件和合并请求事件,然后把请求SSL的验证取消,最后点击添加Webhooks按钮。

(这里的操作关联jenkins创建流水线里的第3条在jenkins里创建流水线任务)
下面是创建成功后的显示状态

4、创建令牌:
点击你的头像选择偏好设置,选择访问令牌,点击添加新令牌

这里添加令牌名称、token descripton是从linux服务器上通过git生成的公钥,直接把里的key复制到里面。然后选择到期时间和选择范围。最后点击创建个人访问令牌。

创建成功后点击复制令牌key按钮

这步操作非常重要是为了jenkeins链接gitlab申请的令牌key。
是关联jenkins设置的第二条在系统配置里配置gitlab的步骤。
二、jenkins基本设置:
1、jenkins里添加gitlab插件:
进入jenkins选择系统管理,选择插件管理选择左侧菜案的Available plugins在右边输入gitlab选择安装。
2、在系统配置里配置gitlab
点击jenkins首页,点击系统管理,点击系统配置,找到gitlab后,从上至下填写名称、gitlab地址和凭据,这里的凭据点击添加,选择jenkins后,在类型里选择GitLab API token。这里添加的信息是在gitlab里添加令牌(是关联gitlab设置里的第4条创建令牌)。添加成功之后选择GitLab API token


点击 Test Connection进行检测是否能链接上gitlab。如果错误将提示:Client error: HTTP 401 Unauthorized。
如果正确则显示Success。
3、设置git环境
点击Jenkins首页,点击系统管理,点击全局工具配置,在里面找到Git installations,输入名称和你的git安装的目录地址。

最后在最下面选择应用和保存,此时Jenkins基本配置已完成。
三、jenkins创建流水线
1、在项目中生成requirement.txt文件方法
在你的IDE里输入:pip freeze > requirements.txt
2、提交代码到gitlab仓库
3、在jenkins里创建流水线任务,输入任务名称
在构建出发器里选择Build when a change is pushed to GitLab. GitLab webhook URL: http://192.168.80.132:1058/project/Test。这里的http地址就是你gitlab里Webhooks的地址,切记在粘贴到webhook里后在地址的后面加""。默认勾选的所有信息都不要动。

选择高级,选择Generate按钮会出现Secret token内容。Secret token里的值需要添加到gitlab里Webhooks的Secret 令牌里。

(这里的操作关联gitlab里的第3条webhook设置)
四、测试流水线是否自动构建
在你的IDE下提交代码成功后,到gitlab仓库里查看是否有变化,如果在增加文件的后面有刚刚字样则证明文件成功提交到gitlab。此时打开Jenkins在首页上可以查看到你自己的任务名称,查看上次成功的名称和状态。如果是绿颜色的就证明成功,如果是红颜色的就证明失败。
