什么是持续集成?如何基于Jenkins进行持续集成?
什么是云效持续集成?
持续集成/CI: 持续集成(英语:Continuous integration,缩写为 CI),一种软件工程流程,将所有工程师对于软件的工作复本,每天集成数次到共用主线(mainline)上。这个名称最早由葛来迪·布区(Grady Booch)在他的布区方法中提出,但是他并没有提到要每天集成数次。之后成为极限编程(extreme programming,缩写为XP)的一部分。在测试驱动开发(TDD)的作法中,通常还会搭配自动单元测试。持续集成的提出,主要是为了解决软件进行系统集成时面临的各项问题,极限编程称这些问题为集成地狱(integration hell)。 ps:说明来自维基百科 Jenkins插件安装 插件管理 点击①处「系统管理」,接着点击②处「插件管理」:
持续集成/CI: 持续集成(英语:Continuous integration,缩写为 CI),一种软件工程流程,将所有工程师对于软件的工作复本,每天集成数次到共用主线(mainline)上。这个名称最早由葛来迪·布区(Grady Booch)在他的布区方法中提出,但是他并没有提到要每天集成数次。之后成为极限编程(extreme programming,缩写为XP)的一部分。在测试驱动开发(TDD)的作法中,通常还会搭配自动单元测试。持续集成的提出,主要是为了解决软件进行系统集成时面临的各项问题,极限编程称这些问题为集成地狱(integration hell)。 ps:说明来自维基百科 Jenkins插件安装 插件管理 点击①处「系统管理」,接着点击②处「插件管理」:
![](https://img2020.cnblogs.com/blog/2514984/202109/2514984-20210907125236588-1899038050.png)
Git 源码管理 在③处「可选插件」中输入“Git plugin”找到代码源管理的插件并安装:
![](https://pic2.zhimg.com/80/v2-4574da0344e206938082451dfd67da22_720w.png)
WebHook 插件 同理,在可选插件中搜索 “Generic Webhook Trigger Plugin”,并安装。
![](https://pic2.zhimg.com/80/v2-f427541069d795ee6a06c9162221716e_720w.png)
安装后需重启Jenkins。
Jenkins 代码源配置
Step1:新建 Jenkins 任务
首先,新建期望的 Jenkins 任务,然后准备配置代码源。
Step2:进入任务配置页面
![](https://pic1.zhimg.com/80/v2-afc6de904ce2516c05a09881458be480_720w.png)
选择源码管理-Git:
![](https://pic3.zhimg.com/80/v2-d12ecb23a13c2bdcd9e3571c6ff801d6_720w.png)
Step3:源码管理配置
选择Git,填入Codeup仓库地址,例如:https://codeup.aliyun.com/xxxx/Codeup-Demo.git
此时需要填写认证信息:
![](https://pic1.zhimg.com/80/v2-81b07e8513baf730cb735aa7c0f64a95_720w.png)
选择Credentials,如果没有,需要新建:
![](https://pic1.zhimg.com/80/v2-a6820f5010bae2e7c2ed45b1dc7bfcae_720w.png)
这里需要填写的用户名和密码,就是Codeup代码仓库的克隆用户名和密码。获取位置如下图所示:
![](https://pic3.zhimg.com/80/v2-0e3cf623af361d4cdff25e1f382e1109_720w.png)
配置完成后如页面不再报错,则鉴权通过。
Step4:配置触发器
继续在设置页中找到「构建触发器」:
![](https://pic3.zhimg.com/80/v2-f2bcbb05b7ea3a043718c76f8e922b3f_720w.png)
选择「Generic Webhook Trigger」:
![](https://pic3.zhimg.com/80/v2-713ef72334aa6fa76f8307eb6c2cfd67_720w.png)
配置获取 Codeup Webhook 的请求参数:
![](https://pic1.zhimg.com/80/v2-58d14135751f45e22acd96da2dd80c7e_720w.png)
参数说明: 以 Codeup Push 事件为例,push webhook 请求 body 如下。 如上在 Variable 中填 ref,表示获取 post 请求 body 中 ref 字段,Expression 中填 $.ref 表示获取 body 中 ref 的 value 值。
![](https://pic2.zhimg.com/80/v2-e13883a3bd838056d4665b93a967d924_720w.png)
Step5:配置 Token 值
![](https://img2020.cnblogs.com/blog/2514984/202109/2514984-20210907125623468-729350792.png)
这里 Token 项可选,支持用户自定义,用于接收方验证请求合法性,需要在 Codeup 的 Webhook 里按照以下格式设置触发的 URL :
http://jenkis地址/generic-webhook-trigger/invoke?token=(上诉生成的token)
如果此处不使用 Token 的形式,触发的 URL 需要如下格式设置 ,否则无法验证身份:http://user:passsword@jenkins/generic-webhook...
Step6:配置构建脚本
根据你的持续集成需求,配置对应 Jenkins 脚本。
根据你的持续集成需求,配置对应 Jenkins 脚本。
Step7:保存
![](https://pic3.zhimg.com/80/v2-448662dbf1a621b60f04024d7234c6e1_720w.png)
Codeup 侧配置 Webhook
Step1:配置 webhook
进入库设置-Webhooks:
进入库设置-Webhooks:
![](https://pic2.zhimg.com/80/v2-f61dd713a1605c19e4a1f1025868d829_720w.png)
Step2:创建 Webhook
填入上方 Jenkins 提供的 Hook URL + 自定义的 Token。
URL设置:
http://jenkis地址/generic-webhook-trigger/invoke?token=(上面 Step5 中设置的 token值:XXXXXXX)
填入上方 Jenkins 提供的 Hook URL + 自定义的 Token。
URL设置:
http://jenkis地址/generic-webhook-trigger/invoke?token=(上面 Step5 中设置的 token值:XXXXXXX)
![](https://pic2.zhimg.com/80/v2-9b7ca7c54bbe76cd52218b967d91d25d_720w.png)
注意:此方式暂不支持 Secret Token 字段。
云效流水线 Flow是一款企业级、自动化的研发交付流水线, 提供灵活易用的持续集成、持续验证、 持续发布功能,帮助企业高质量、高效率的交付业务。本文讲述如何使用 Codeup 代码库关联 Jenkins 进行持续集成。主要涉及内容包括关联代码源、配置触发器的过程。通过云效流水线 Flow完成从开发到上线过程的持续交付。通过持续向团队提供及时反馈,让交付过程高效顺畅。
如果觉得对您有所帮助别忘记点赞、收藏和关注,了解更多详情微信公众号搜索【云效】随时了解云效动态