jenkins 与 gitlab 的持续集成

前言介绍

gitlab与jenkins的安装部署请参考之前的文章;这里介绍一下jenkins与gitlab结合的好处。

gitlab可以自己实现CICD功能,jenkins也可以结合其他工具来实现CICD功能,为什么要用jenkins + gitlab的方式来实现。我这里个人推断:jenkins以插件功能丰富而闻名,gitlab本身就是一套集成工具,这种情况下面所有的操作都在gitlab上面执行,很容易产生资源的瓶颈;其次gitlab属于分布式版本控制工具,使用方便灵活,拥有的用户市场大等很多优势,所以用jenkins + gitlab的方式来实现CICD是比较理想的方案。

下面介绍一下jenkins与gitlab持续集成的环境。

环境

编号 主机地址 应用名称 版本
1 192.168.21.39 jenkins 2.19
2 192.168.21.40 gitlab 12.3.5

部署

jenkins

安装文档请参考之前的内容,下面是初次登录时所需的操作

通过浏览器访问jenkins地址,一般是http://network_ip:8080

选择自定义插件,我比较喜欢所有的插件自己后续安装,这样可以具体的了解大部分插件的功能与依赖

  

我这里并没有安装任何插件

  

因为我是cicd的测试,并不是jenkins功能的测试,所有我这个地方并没有做权限的管理

  

若是没有dns及hostname相关的设置,这个地方就用ip来设置url即可。

  

 

  

  

准备汉化jenkins,大家都是中国人,你懂得;Jenkins >> Manage Jenkins >> Manage Plugins >> Available;然后搜索localization,选择下列的插件进行安装

  

 

  

安装gitlab相关的插件:gitlab-hook、gitlab-authentication、gitlab-plugin(注意,gitlab-hook有很多依赖关系,就算你选择离线安装也会去在线获取依赖插件;解决办法就是先把依赖插件先安装上。)

离线插件下载地址:https://updates.jenkins.io/download/(好像需要翻qiang,你懂得)

 

  

需要注意的是:有一些插件本身有一些安全隐患,具体的隐患需要查看官方相应资料,一般jenkins平台中会给出提示,如下图:

  

安装相应的插件之后还需要到jenkins对应的主机操作系统中安装git程序,因为jenkins要调用git的接口去检测仓库的指针与版本

[root@jenkins ~]# yum -y install git

gitlab

创建凭据;User >> setting >> Access Tokens;

 

 

记住上面图中的Personal Access Token;并添加到jenkins的凭据中去。

新建仓库,用作测试

jenkins

在jenkins全局模式里面配置gitlab的用户令牌验证;jenkins >> 系统设置 >> Gitlab;在Gitlab处进行配置,如下图;

 

在jenkins端添加gitlab的凭据,互做绑定;新建项目 >> 源码管理 >> 添加凭据 >> 构建触发器 >> 创建webhook;

 

 

注意:这个上面用的是用户名与密码。

  

创建构建触发器

上面图中的这两个东西非常重要,等下都要用到。记得保存应用!!!

gitlab

在仓库中添加webhook;projects >> 选择仓库 >> setting >> Integrations >> 添加绑定 >> Add webhook

测试

在用户端拉取仓库,进行代码提交;之后在jenkins端查看是否有新的项目自动进行构建。若自动构建并且成功,则说明持续集成环境部署成功。

参考文档:https://rorschachchan.github.io/2018/05/25/Gitlab-Jenkins%E6%90%AD%E5%BB%BA%E6%8C%81%E7%BB%AD%E9%9B%86%E6%88%90%E7%B3%BB%E7%BB%9F/

原文地址:https://www.cnblogs.com/guge-94/p/11697785.html