使用 Jenkins 构建 Coding 项目

Jenkins 是一个用 Java 编写的开源的持续集成工具。它运行在 Servlet 容器中(例如 Apache Tomcat)。它支持软件配置管理(SCM)工具(包括 AccuRev SCM、CVS、Subversion、Git、Perforce、Clearcase 和 RTC),可以执行基于 Apache Ant 和 Apache Maven 的项目,以及任意的 Shell 脚本和 Windows 批处理命令。

使用 Jenkins 构建 Coding 项目是利用 Webhook 向 Jenkins 服务器发送请求。Jenkins 接收到 Webhook 请求后,进行构建。要实现以上功能需要使用 Jenkins 的插件来实现,Jenkins Coding Webhook Plugin 是通过 Jenkins Gitlab Webhook 插件修改而得。安装后即可响应 Coding 的 Webhook 请求。

Jenkins 版本

Jenkins 插件库里标记的,对 Jenkins 的版本依赖是 1.625.3。 在我司吃自己的狗粮的实践中,目前使用 Jenkins 版本为 2.67。(稳定版为 2.60 / 2.73

安装配置 Jenkins Coding Webhook Plugin

  1. 安装

    登陆到您的 Jenkins 服务器。选择『系统管理』。

    图片

    点击『管理插件』 图片

    选择『可选插件』,在右上方 『过滤』框中,输入『coding』,即可看到『Coding Webhook Plugin』。 勾选后,点击下方的『直接安装』。如果没有搜索到结果,可以点击右下方的『立即获取』,获取后即可看到。 图片

    如果搜索不到,还可以前往 这里 下载,进行手动安装。

    下面介绍手动安装的方法:

    进入插件列表,选择上方『高级』标签 图片

    在『高级』标签下,上传插件栏中点击选择文件,选中 coding-wehook.hpi图片

    点击『上传』按钮,便会自动上传后安装。图片

    图片

  2. 配置项目

    在 Jenkins 中选择新建项目

    图片

    图片

    进入项目配置页面,在源码管理下选择 Git,并填入项目地址,以及认证的形式。图片

    在构建触发器栏中选择『收到 Coding 发送过来的请求时触发构建』,并填入相应的选项。图片

    如果需要根据 Merge Request 的构建,先点击右侧的问号。

    图片

    会展开提示信息。

    图片

    根据提示信息,回到源码管理中,点击『高级』,在 Refspec 中填入 +refs/heads/*:refs/remotes/origin/* +refs/merge/*/MERGE:refs/remotes/origin/merge/* ,如果是公开项目,则填入 +refs/heads/*:refs/remotes/origin/* +refs/pull/*/MERGE:refs/remotes/origin/pull/*

    图片

    最后可以添加构建的脚步。图片

    图片

在 Coding 中配置 Webhook

回到 Coding 中,在项目的设置中选择添加 Webhook。

图片

图片

添加成功后,即可。

这时,我们提交一个 Merge Request。

图片

再回到 Jenkins 中,即可看到项目构建的信息。

图片