目录

Jenkins部署Android篇2之Jenkins使用Github的Webhooks

https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fraw.githubusercontent.com%2Fsromku%2Fbuild-android-jenkins%2Fmaster%2Fassets%2Fbuild-android-wip.png&refer=http%3A%2F%2Fraw.githubusercontent.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1649935615&t=43d7d98bdb16cd16c633d285d833a855

上一节对Android项目简单的搭建了jenkins环境. 实现了手动拉取仓库代码进行编译, 这一节就是利用WebHook(钩子) 实现当关注的分支有了新的提交自动拉取代码. 真的向自动化部署实现.

1.确认端口是否正确

1反向代理错误.png

如果在系统管理页面出现了反向代理有误, 那么可能是你的前端页面设置后端配置端口不一致

  • 前端页面设置: 就是访问的页面地址中系统管理Jenkins LocationJenkins URL
  • 后台配置: 我这里是Mac通过brew安装,文件路径为: /usr/local/Cellar/jenkins-lts/2.319.3/homebrew.mxcl.jenkins-lts.plist jenkins-lts, 其中/usr/local/Cellar/ 为brew安装的程序保存路径. 其他方式自行查找.

如下:

2前台和后端端口配置.png

2.创建Github钩子指向Jetkins

首先要确保搭建的Jetkins是可以外网访问的, 例如域名+port, 或者IP+port

进入Github的需要绑定项目主页.

选择项目Setting -> Webhooks -> Add webhook

3设置github的webhooks1.png

在创建页面, 输入Jetkins的地址+Port+/github-webhook 例如: http://域名:端口/github-webhook/ Content type使用默认的urlencode即可, 如下

4设置github的webhooks2.png

3.创建一个有对项目操作权限的用户Token

GitHub头像处展开列表 -> Setting -> 左侧Developer setting -> personal access token -> 右侧Generate new token

如下

5创建token1.png 创建Token页面

  • Note: 名字随便起
  • Expiration: 创建的token有效期
  • 选择赋予的权限

6创建token2.png

4.配置Jenkins的Git Plugin

新版Jenkins在初始的时候已经默认安装了Git Plugin和相关依赖的Plugin,我们不用在重复进行安装,直接配置即可

7配置Github插件.png

  1. 进入插件位置: 系统管理 –> 系统设置 –> GitHub –> Add GitHub Sever
  2. 相关项目名称
  3. 填写: https://api.github.com
  4. 创建一个凭据, 选择Secre text类型
    • Secret字段添写上一步GitHub申请的token
    • Description字段添加一些描述信息
    • id字段不用填写
  1. 选择刚才创建的凭据, 点击连接测试
  2. 如果出现验证信息, 那么说明连接成功
  3. 应用 保存

5.配置任务

继续回到上一节创建的Job. 追加一些设置.

8Job配置1.png

源码管理:

  • 指定分支: 这里确定GitHub远端存在对应分支. 否则后续可能会拉取失败.
  • Repository URL: 如果可以尽量使用SSH连接, HTTPS连接在测试中发现经常error code:128

9Job配置2.png10Job配置3.png

6.测试

对项目进行commit 并push到远程仓库. 这个时候我们进去GitHub项目页面,的WebHook查看钩子推送是否成功.

11success.png 绿色对钩表示推送并且响应成功, 可以点进去查看历时推送.

然后此时Jenkins收到推送开始自动构建, 如下

12success2.png