持续集成之jenkins实践教程:基础篇(2): 集成gitlab
来源:互联网 发布:中国国玺云计算 编辑:程序博客网 时间:2024/06/07 07:47
作为持续集成的利器Jenkins已经得到了广泛地应用,仅仅作为一个工具,Jenkins已然有了自己的生态圈,支持其的plugin更是超过1300+。在实际中如何使用以及如何更好地使用jenkins,一直是大家在实践并讨论的。本系列文章将会从如何使用jenkins方面对一些细节进行总结和整理,这篇文章将会介绍如何在Jenkins中实现与gitlab的集成
事前准备
只要有jenkins即可,没有的可以使用Jenkins官方的镜像或者安装包,或者使用Easypack中封装的基本一致的Jenkins。
docker pull镜像
[root@liumiaocn ~]# docker pull liumiaocn/jenkinsUsing default tag: latestlatest: Pulling from liumiaocn/jenkinsDigest: sha256:87c954f71bc3ce1ba5d001bfbae501f9965368c16f0111ef951350376c2f6832Status: 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/jenkins63dc2d52de03074858a6b61db4955345a66cfd436c5a47384924e9e3f8177778[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-pluginCreating 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:=optionalDownloading plugin: workflow-step-api from https://updates.jenkins.io/download/plugins/workflow-step-api/latest/workflow-step-api.hpiDownloading plugin: credentials from https://updates.jenkins.io/download/plugins/credentials/latest/credentials.hpiDownloading plugin: git from https://updates.jenkins.io/download/plugins/git/latest/git.hpiDownloading plugin: git-client from https://updates.jenkins.io/download/plugins/git-client/latest/git-client.hpiSkipping optional dependency plain-credentialsDownloading plugin: matrix-project from https://updates.jenkins.io/download/plugins/matrix-project/latest/matrix-project.hpi > workflow-step-api depends on structs:1.5Downloading plugin: structs from https://updates.jenkins.io/download/plugins/structs/latest/structs.hpi > matrix-project depends on junit:1.20,script-security:1.13Downloading plugin: junit from https://updates.jenkins.io/download/plugins/junit/latest/junit.hpiDownloading 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:=optionalDownloading plugin: workflow-scm-step from https://updates.jenkins.io/download/plugins/workflow-scm-step/latest/workflow-scm-step.hpiDownloading plugin: mailer from https://updates.jenkins.io/download/plugins/mailer/latest/mailer.hpiSkipping optional dependency parameterized-triggerSkipping optional dependency promoted-buildsDownloading plugin: scm-api from https://updates.jenkins.io/download/plugins/scm-api/latest/scm-api.hpiSkipping optional dependency token-macroDownloading 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.0Downloading plugin: display-url-api from https://updates.jenkins.io/download/plugins/display-url-api/latest/display-url-api.hpiWAR bundled plugins:Installed plugins:credentials:2.1.14display-url-api:2.0git-client:2.4.6git:3.3.1gitlab-plugin:1.4.6junit:1.20mailer:1.20matrix-project:1.11scm-api:2.1.1script-security:1.29ssh-credentials:1.13structs:1.9workflow-scm-step:2.6workflow-step-api:2.12Cleaning up locks/ $ exit[root@liumiaocn ~]# docker restart jenkinsjenkins[root@liumiaocn ~]#
插件安装确认
重新启动后确认此插件已经安装完毕
设定内容
系统管理 -> 系统设置处的Gitlab相关内容则为所需设定的内容
认证信息使用Gitlab的API Token的方式进行创建,首先确认一下Gitlab 的ApiToken的相关信息。
gitlab API相关的信息,可以参看:
使用确认到的API Token创建一个Gitlab API Token类型的Crendentials,详细信息如下:
在设定页面选中刚刚创建的Gitlab API Token
验证
设定完毕之后,点击Test Connection便可以确认jenkins和gitlab之间是否通过此插件进行了集成。页面显示Success说明已经OK。
总结
Jenkins与gitlab设定需要下载并安装gitlab-plugin插件,通过创建gitlab api token并使用,便可以通过gitlab-plugin插件提供的测试功能进行集成连接确认。
- 持续集成之jenkins实践教程:基础篇(2): 集成gitlab
- 持续集成之jenkins实践教程:基础篇(3): 集成sonarqube
- 持续集成之jenkins实践教程:基础篇(4): 集成redmine
- 持续集成之jenkins实践教程:基础篇(5): 集成docker
- JenKins+GitLab+.Net 持续化集成实践
- 持续集成Gitlab+Jenkins
- gitlab+jenkins持续集成
- 持续集成之jenkins实践教程:基础篇(1): 邮件设置
- 持续集成之Jenkins+Gitlab简介 [一]
- 持续集成之Jenkins+Gitlab简介
- 持续集成之Jenkins+Gitlab简介 [一]
- 持续集成之Jenkins+Gitlab实现持续集成 [二]
- 持续集成之Jenkins+Gitlab实现持续集成 [二]
- 持续集成之Jenkins+Gitlab实现持续集成 [二]
- Jenkins + Gitlab 搭建持续集成
- salt+jenkins+gitlab持续集成
- 搭建GitLab+Jenkins持续集成环境图文教程
- Jenkins持续集成教程
- GeoHash算法原理及实现方式
- list、tuple和dict以及set详细讲解
- 如何定义一个只能在堆(栈)上生成对象的类
- Tengine(编译)安装示例
- 解决使用NAT连接的linux可以上网,但是ping不通问题
- 持续集成之jenkins实践教程:基础篇(2): 集成gitlab
- html标签
- 返回值与输出参数比较(return value or out parameter)
- c++11中输出enum class变量的数值
- SpringMVC请求流程
- 【C语言】for语句
- 营养联系行为
- Python 多线程 Thread包
- 邻接表