持续集成之jenkins实践教程:基础篇(2): 集成gitlab - Go语言中文社区

持续集成之jenkins实践教程:基础篇(2): 集成gitlab


这里写图片描述
作为持续集成的利器Jenkins已经得到了广泛地应用,仅仅作为一个工具,Jenkins已然有了自己的生态圈,支持其的plugin更是超过1300+。在实际中如何使用以及如何更好地使用jenkins,一直是大家在实践并讨论的。本系列文章将会从如何使用jenkins方面对一些细节进行总结和整理,这篇文章将会介绍如何在Jenkins中实现与gitlab的集成

事前准备

只要有jenkins即可,没有的可以使用Jenkins官方的镜像或者安装包,或者使用Easypack中封装的基本一致的Jenkins。

docker pull镜像

[root@liumiaocn ~]# docker pull liumiaocn/jenkins
Using default tag: latest
latest: Pulling from liumiaocn/jenkins
Digest: sha256:87c954f71bc3ce1ba5d001bfbae501f9965368c16f0111ef951350376c2f6832
Status: Image is up to date for liumiaocn/jenkins:latest
[root@liumiaocn ~]#

启动Jenkins镜像
docker run -d -p 8090:8080 -p 50000:50000 –name jenkins liumiaocn/jenkins

[root@liumiaocn ~]# docker run -d -p 8090:8080 -p 50000:50000 --name jenkins liumiaocn/jenkins
63dc2d52de03074858a6b61db4955345a66cfd436c5a47384924e9e3f8177778
[root@liumiaocn ~]#

plugin

与gitlab的集成也是通过插件来做的,需要安装GitLab Plugin插件,目前版本是1.4.6,通过使用这个插件进行集成能够使得gitlab在push之后能够调用jenkins进行构建。详细说明如下图所示
这里写图片描述

安装

可以使用jenkins的插件管理页面进行安装,也可以使用其id(gitlab-plugin)在镜像中进行安装并重启镜像即可。在mailer中我们也使用了jenkins官方所提供的install-plugins.sh,连同依赖关系一起安装给自定义jenkins会带来极大的方便。

[root@liumiaocn ~]# docker exec -it jenkins sh
/ $ install-plugins.sh gitlab-plugin
Creating initial locks...
Analyzing war...
Downloading plugins...
Downloading plugin: gitlab-plugin from https://updates.jenkins.io/download/plugins/gitlab-plugin/latest/gitlab-plugin.hpi
 > gitlab-plugin depends on workflow-step-api:1.15,credentials:2.1.0,git:2.4.1,git-client:1.19.0,matrix-project:1.10,plain-credentials:1.1;resolution:=optional
Downloading plugin: workflow-step-api from https://updates.jenkins.io/download/plugins/workflow-step-api/latest/workflow-step-api.hpi
Downloading plugin: credentials from https://updates.jenkins.io/download/plugins/credentials/latest/credentials.hpi
Downloading plugin: git from https://updates.jenkins.io/download/plugins/git/latest/git.hpi
Downloading plugin: git-client from https://updates.jenkins.io/download/plugins/git-client/latest/git-client.hpi
Skipping optional dependency plain-credentials
Downloading plugin: matrix-project from https://updates.jenkins.io/download/plugins/matrix-project/latest/matrix-project.hpi
 > workflow-step-api depends on structs:1.5
Downloading plugin: structs from https://updates.jenkins.io/download/plugins/structs/latest/structs.hpi
 > matrix-project depends on junit:1.20,script-security:1.13
Downloading plugin: junit from https://updates.jenkins.io/download/plugins/junit/latest/junit.hpi
Downloading plugin: script-security from https://updates.jenkins.io/download/plugins/script-security/latest/script-security.hpi
 > credentials depends on structs:1.7
 > git depends on workflow-scm-step:1.14.2,credentials:2.1.13,git-client:2.4.0,mailer:1.18,matrix-project:1.7.1,parameterized-trigger:2.33;resolution:=optional,promoted-builds:2.27;resolution:=optional,scm-api:2.1.0,ssh-credentials:1.13,token-macro:1.12.1;resolution:=optional
Downloading plugin: workflow-scm-step from https://updates.jenkins.io/download/plugins/workflow-scm-step/latest/workflow-scm-step.hpi
Downloading plugin: mailer from https://updates.jenkins.io/download/plugins/mailer/latest/mailer.hpi
Skipping optional dependency parameterized-trigger
Skipping optional dependency promoted-builds
Downloading plugin: scm-api from https://updates.jenkins.io/download/plugins/scm-api/latest/scm-api.hpi
Skipping optional dependency token-macro
Downloading plugin: ssh-credentials from https://updates.jenkins.io/download/plugins/ssh-credentials/latest/ssh-credentials.hpi
 > junit depends on structs:1.2
 > git-client depends on credentials:2.1.13,ssh-credentials:1.13,structs:1.6
 > workflow-scm-step depends on workflow-step-api:2.9
 > ssh-credentials depends on credentials:2.1.0
 > mailer depends on display-url-api:1.0
Downloading plugin: display-url-api from https://updates.jenkins.io/download/plugins/display-url-api/latest/display-url-api.hpi

WAR bundled plugins:


Installed plugins:
credentials:2.1.14
display-url-api:2.0
git-client:2.4.6
git:3.3.1
gitlab-plugin:1.4.6
junit:1.20
mailer:1.20
matrix-project:1.11
scm-api:2.1.1
script-security:1.29
ssh-credentials:1.13
structs:1.9
workflow-scm-step:2.6
workflow-step-api:2.12
Cleaning up locks
/ $ exit
[root@liumiaocn ~]# docker restart jenkins
jenkins
[root@liumiaocn ~]#

插件安装确认

重新启动后确认此插件已经安装完毕
这里写图片描述

设定内容

系统管理 -> 系统设置处的Gitlab相关内容则为所需设定的内容

设定项目 设定方法 设定内容
gitlab连接名称 Gitlab -> Connection name邮件发送地址 gitlab连接的名称
gitlab的URL Gitlab ->Gitlab host URL 可以访问的gitlab的URL
认证信息 Gitlab ->Credentials 用来登陆gitlab的认证信息

认证信息使用Gitlab的API Token的方式进行创建,首先确认一下Gitlab 的ApiToken的相关信息。

这里写图片描述

gitlab API相关的信息,可以参看:

gitlab之API http://blog.csdn.net/liumiaocn/article/details/74542191

使用确认到的API Token创建一个Gitlab API Token类型的Crendentials,详细信息如下:

这里写图片描述

在设定页面选中刚刚创建的Gitlab API Token

这里写图片描述

验证

设定完毕之后,点击Test Connection便可以确认jenkins和gitlab之间是否通过此插件进行了集成。页面显示Success说明已经OK。
这里写图片描述

总结

Jenkins与gitlab设定需要下载并安装gitlab-plugin插件,通过创建gitlab api token并使用,便可以通过gitlab-plugin插件提供的测试功能进行集成连接确认。

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/liumiaocn/article/details/74785996
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢