Jenkins学习之路(三)

314 阅读3分钟

一、Webhook触发Jenkins自动构建

前面文章中,已经可以构建项目了,接下来就使用 Generic Webhook Trigger 插件实现push代码,触发Jenkins自动构建。因为我的仓库在码云上,所以以码云的配置来配置。

安装 Generic Webhook Trigger 插件

上篇文章说到,插件是在 插件管理 中安装,这里就不讲述了。下图是我已经安装好的截图 Description

项目中配置

  1. 当装好插件后,打开项目配置后,点开构 建触发器 会看到 Generic Webhook Trigger 选项,然后勾选上。构建触发器是要抓取push这个动作,WebHook POST 过来的数据,判断是哪个分支(这里的分支是提前在码云仓库里建好的,我这里以dev为例),是否需要Jenkins拉取最新代码构建。抓取到的数据用变量 ref 接住,内容为 $.ref。详情请移步码云WebHook文档 Description
  2. 获取到POST的数据,其他的不用管,往下看, Optional filter 选项中,就是根据定义的字符串来触发这个动作,上面配置的原数据是 .ref,正则匹配Expression(refs/heads/dev).ref** ,正则匹配 **Expression**: **^(refs/heads/dev) (dev分支是上面提到的开发分支,push代码后才会触发),Text是匹配出什么结果来触发动作,Text: $ref。当然如果Optional filter不配置,就会默认去匹配 master 分支,配置完成后,点击保存。

Description

码云仓库配置

  1. 进到仓库中,点击设置,选中WebHooks如下图,然后点击添加 webhook,填写 POST 地址,格式如下:
/*
 * username:  Jenkins登录用户
 * password:  Jenkins登录密码
 * JenkisUrl: Jenkins访问地址
*/
http://username:password@JenkisUrl/generic-webhook-trigger/invoke

都填好后点击添加,如果配置成功则会有如下返回值,如下图;接下来就可以随便改点东西,推送到码云上,然后回到 Jenkins 上,查看是否自动构建成功。

Description

二、Pulish Over SSH 插件分发部署

Jenkins SSH Key配置

首先安装 Pulish Over SSH 插件,和上文一样,依然是到 插件管理 中查找、安装,这里我已经安装好了,就不在安装了。 Description 下一步配置很重要,系统管理 -> 系统设置 ,一直向下翻找到Pulish Over SSH,进行配置

Description

- Passphrase     jenkins用户  SSH  Key 的密码,如果未设置,可以不填
- Path to key    jenkins用户  SSH  私钥key的路径,可以不填
- Key            jenkins用户  SSH  私钥的内容

关于 私钥 的生成,这里不讲解,大家请百度下

SSH Servers配置

这里的配置是对Jenkins系统的配置,可以配置多个,便于向不同服务器推送构建后的文件。配置完成后右下角有一个 Test Configuration 按钮,点击如果出现success,则表示配置成功。 Description

- Name               ssh连接的名称,随意
- Hostname           远程服务器的地址,建议IP
- Username           远程服务器登录的用户名
- Remote Directory   远程服务器目录,我填写的根目录

项目中配置

这里的配置是对项目的配置,配置完成后点击保存。 Description

- Name               上面系统配置的name,ssh连接的名称
- Source Files       要出书的源文件,如果是全部,直接填写 目录名称/**
- Remote prefix      需要移除的前缀,针对Source Files,如果上一项中无用的目录层级比较多,可以在这里去掉
- Remote Directory   远程服务器目录,相对路径,因为我在上面配置的是根目录,所以这里填写完整的路径

到这里就完全配置完了,在造轮子过程中,遇到很多问题,一步一步踩坑过来的,也借鉴了很多学习资料,希望大家都能在自己造轮子的路上,早日上岸!