GitLab + Jenkins实现CI
Jenkins设置Build Triggers
目的是为了能够使jenkins被触发
- 在工程下点击configure
- 按以下选择进行勾选(基本为默认设置),点击Advanced…
- 点击Generate,会生成一个Secret token,这个token将被作为触发jenkins的认证,后面需要将这个token配置在GitLab中
Jenkins配置部分结束
GitLab设置
首先设置jenkins访问权限,确保jenkins有权限pull代码,才能build
- 用admin账号登录GitLab,并点击账号设置下的Access Tokens
- 点击Create personal access token
- 可以设置有效期限,再勾选api权限
- 点击create,这时就会有一条access token,记录下access token 并配置到jenkins全局设置中
代码提交在GitLab上,设置提交时的触发条件(比如在提交到dev分支时触发),去触发jenkins build
- 进入需要配置CI的项目,点击settings下的Webhooks
- 将jenkins项目地址与在jenkins生成的Secret token填入,勾选Push events(表示在GitLab触发了push是会调用jenkins build),也可以输入想要触发的分支(其他分支push将不会触发jenkins build)
- 点击 Add webhook
- 可以看到已经激活了webhook
GitLab配置部分结束
CI持续集成(Continuous Integration)
在每次提交活着合并代码之后,可以实现自动化的构建、自动化测试等,大大省去了合并代码之后开发人员的重复手动构建。本篇只介绍了CI的自动化构建部分。
CD持续交付 / 部署(Continuous Delivery / Continuous Deployment)
当然还有CD,作为CI的后续工作。
例如,如果项目的部署方式为docker部署并且将部署包做了外部的文件映射,那么在jenkins的build脚本的最后添加docker的restart命令,那么在开发人员提交完代码之后,不用做任何的操作,几分钟之后便能让代码生效了。
Comments