自动化部署原理:
- 本地代码push到Github
- webhook检测到Github的push事件
- 触发Jenkins进行一次build
- 自动化部署完成
配置步骤:
1.Github生成Personal Access Token
1.1登录到Github –>Settings –> Developer settings –> Personal access tokens –> Generate new token
1.2.勾选如下图所示权限,最后点击 generate token 生成令牌
1.3.一定要保存生成令牌,因为只显示一次
2. 设置Jenkins
的Github
Server配置
2.1Manage Jenkins –> Configure System --> 找到 GitHub
选项 –> 添加 Github
服务器 –> GitHub Server
2.2添加凭据:
API URL:https://api.github.com
选中管理Hooks
这样一个Webhooks就配置完成了。
Tips:
Webhooks的URL要求Jenkins必须在公网能够进行访问,这样Github才能进行推送事件。
默认的Hook URL
这里也可以自己重写Hook URL:
2.3. 测试 jenkins
连接 github
服务器,最后记得在页面底部保存配置。
3.Jenkins Job项目配置Trigger
3.1任意新建一个Freestyle project 配置如下
3.2 设置Build Triggers
注意:这里的Github hook trigger for GITScm polling勾上后,一般会自动在Github代码仓库里边生成一个hook:
4. Github
代码仓库设置 GitHub webhooks
4.1 找到Github具体需要持续集成的项目 -> 点击Settings -> 点击Webhooks -> 可以看到里边已经生成的hooks(一般会自动生成) -> 如果没有生成hooks,或者需要新建自定义的hooks,则点击Add webhook 选项 -> 最后点击Add webhook
Payload URL:部署Jenkins的服务器的公网IP + 端口 + /github-webhook/;如果之前Jenkins Github Server重写了Hook URL,则填入重写的URL;
5. 测试
最后在github代码仓库master提交新的代码,查看Jenkins是否自动启动部署;
大家可以看到,我的新的提交“test the trigger on jenkins”已经完成了自动部署。