jenkinis配置

在之前的博文中,博主已经搭建好了gitlab和jenkins环境。接下来,博主就要进行gitlab和jenkins的联合使用。

源码仓库配置

这里,我们需要配置一下gitlab中代码的仓库地址和gitlab用户的credentials认证方式,博主这里使用的username/password方式。

在GitLab中可视化jenkins资源 gitlab调用jenkins_java

jenkins安装Gitlab Hook Plugin 和 GitLab Plugin

如图片所示,在available选项卡中搜索需要安装的插件即可。插件安装完之后,触发构建的选项中就会多出Build when a change is pushed to GitLab这一项。

在GitLab中可视化jenkins资源 gitlab调用jenkins_ubuntu_02

jenkins安装maven插件

跟上一个步骤相同,这里我们需要进行安装maven插件。安装完之后,我们就可以进行创建maven项目的构建任务。

在GitLab中可视化jenkins资源 gitlab调用jenkins_java_03

jenkins安装maven

jenkins镜像使用的linux发行版本是debain,用下面的指令就可以查看。

在GitLab中可视化jenkins资源 gitlab调用jenkins_ubuntu_04

此时,我们先在外部的容器卷中编写source,list文件,然后覆盖容器内部的source.list文件。source.list是apt工具的镜像源文件,文件内容如下所示:

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security multiverse

然后,我们用root账号进入jenkins运行容器,使用默认的jenkins用户没有权限进行安装和修改操作。

docker exec -it -u root container_id bin/bash

接着,更新镜像源。

apt-get update

最后,进行maven工具的安装。

apt-get install maven
全局参数配置
配置触发构建的时机
  • Trigger builds remotely (e.g., from scripts),通过脚本远程触发,如http调用。
  • build after other projects are built,其它依赖的项目构建时,触发构建。
  • build periodically,周期性构建,不管依赖是否发生变化
  • poll scm,隔一段时间比较源码是否发生变化,如果变更了则更新。
  • Build when a change is pushed to GitLab. 基于gitlab的webhoos进行构建。

这里我们使用gitlab的webhooks进行构建,个人感觉webhooks的方式更加高效,因为gitlab接收到我们的代码推送请求后,会生成一个推送事件,然后使用http请求来调用jenkins的对应任务的构建。

在GitLab中可视化jenkins资源 gitlab调用jenkins_jenkins_05

还是在Build Triggers 这块区域,我们选择Advanced进行高级选项配置,然后生成当前构建任务的访问token。

在GitLab中可视化jenkins资源 gitlab调用jenkins_gitlab_06

gitlab配置webhooks

在gitlab项目的配置页面,填写上一个步骤得到的webhook url 和 token,添加成功之后就可以在右下角中查看到已添加的webhooks。

在GitLab中可视化jenkins资源 gitlab调用jenkins_ubuntu_07

在右下脚的webhooks区域,我们可以点击发送Test发送测试请求,如果配置成功的话,可以在界面上看到如下图所示的提示。

在GitLab中可视化jenkins资源 gitlab调用jenkins_jenkins_08

查看jenkins构建记录

如下图所示,jenkins成功接收到gitlab的推送请求,然后进行了任务的构建。

在GitLab中可视化jenkins资源 gitlab调用jenkins_jenkins_09