Jenkins部署Android篇2之Jenkins使用Github的Webhooks
目录
- Jenkins部署Android篇-1.Mac安装Jenkins
- Jenkins部署Android篇-2.Jenkins使用Github的Webhooks
- Jenkins部署Android篇-3.构建完整Android自动化流程
- Jenkins部署Android篇-4.Pipeline流水线
上一节对Android项目简单的搭建了jenkins环境. 实现了手动拉取仓库代码进行编译, 这一节就是利用WebHook(钩子) 实现当关注的分支有了新的提交自动拉取代码. 真的向自动化部署实现.
1.确认端口是否正确
如果在系统管理页面出现了反向代理有误, 那么可能是你的前端页面设置和后端配置端口不一致
- 前端页面设置: 就是访问的页面地址中系统管理的Jenkins Location的Jenkins URL
- 后台配置: 我这里是Mac通过brew安装,文件路径为: /usr/local/Cellar/jenkins-lts/2.319.3/homebrew.mxcl.jenkins-lts.plist jenkins-lts, 其中/usr/local/Cellar/ 为brew安装的程序保存路径. 其他方式自行查找.
如下:
2.创建Github钩子指向Jetkins
首先要确保搭建的Jetkins是可以外网访问的, 例如域名+port, 或者IP+port
进入Github的需要绑定项目主页.
选择项目Setting -> Webhooks -> Add webhook
在创建页面, 输入Jetkins的地址+Port+/github-webhook 例如: http://域名:端口/github-webhook/ Content type使用默认的urlencode即可, 如下
3.创建一个有对项目操作权限的用户Token
GitHub头像处展开列表 -> Setting -> 左侧Developer setting -> personal access token -> 右侧Generate new token
如下
创建Token页面
- Note: 名字随便起
- Expiration: 创建的token有效期
- 选择赋予的权限
4.配置Jenkins的Git Plugin
新版Jenkins在初始的时候已经默认安装了Git Plugin和相关依赖的Plugin,我们不用在重复进行安装,直接配置即可
- 进入插件位置: 系统管理 –> 系统设置 –> GitHub –> Add GitHub Sever
- 相关项目名称
- 填写: https://api.github.com
- 创建一个凭据, 选择Secre text类型
-
- Secret字段添写上一步GitHub申请的token
-
- Description字段添加一些描述信息
-
- id字段不用填写
- 选择刚才创建的凭据, 点击连接测试
- 如果出现验证信息, 那么说明连接成功
- 应用 保存
5.配置任务
继续回到上一节创建的Job. 追加一些设置.
源码管理:
- 指定分支: 这里确定GitHub远端存在对应分支. 否则后续可能会拉取失败.
- Repository URL: 如果可以尽量使用SSH连接, HTTPS连接在测试中发现经常error code:128
6.测试
对项目进行commit 并push到远程仓库. 这个时候我们进去GitHub项目页面,的WebHook查看钩子推送是否成功.
绿色对钩表示推送并且响应成功, 可以点进去查看历时推送.
然后此时Jenkins收到推送开始自动构建, 如下