前言介绍

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. [梁山好汉说IT] 梁山好汉和抢劫银行

    [梁山好汉说IT] 梁山好汉和抢劫银行 0x00 摘要 今天看了一篇文章<史上最有学问的银行劫匪,教你如何把握人生重大机会>.先摘录精华如下,然后看看梁山好汉在类似情况下如何处理 (东京汴 ...

  2. JAVA CONCURRENT FRAMEWORK

    1.ConcurrentHashMap 在并发中使用hashmap容易导致死锁,hashmap存在以下问题 1.线程不安全的hashmap 在多线程环境下使用hashmapPut操作时会引起死循环,因 ...

  3. 利用Redis实现集群或开发环境下SnowFlake自动配置机器号

    前言: SnowFlake 雪花ID 算法是推特公司推出的著名分布式ID生成算法.利用预先分配好的机器ID,工作区ID,机器时间可以生成全局唯一的随时间趋势递增的Long类型ID.长度在17-19位. ...

  4. kotlin + springboot整合mybatis操作mysql数据库及单元测试

    项目mybatis操作数据库参考: http://how2j.cn/k/springboot/springboot-mybatis/1649.html?p=78908 junit对controller ...

  5. 【阿里云IoT+YF3300】10.快速开发188协议设备驱动

    188协议的全称为CJ-T188-2004 <户用计量仪表数据传输技术条件>,是针对水表.燃气表.热量表和其他集中采集的一个国家行业标准协议. YFIOs就是YFSoft I/O Serv ...

  6. 选题Scrum立会报告+燃尽图 02

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/8680 组长:杨天宇 组员:魏新,罗杨美慧,王歆瑶,徐丽君 组名:组长 第 ...

  7. 【题解】CTS2019珍珠(二项式反演+卷积)

    [题解]CTS2019珍珠 题目就是要满足这样一个条件\(c_i\)代表出现次数 \[ \sum {[\dfrac {c_i } 2]} \ge 2m \] 显然\(\sum c_i=n\)所以,而且 ...

  8. Jenkins+ant+jmeter环境搭建

    下载的工具版本: apache-jmeter-3.0 apache-ant-1.8.4 jenkins-2.46.3 之前用jmeter写了测试接口的脚本,运行及返回结果都正常,所以需要做的就是工具的 ...

  9. Java工程师阅读源码的一些见解

    一.为何阅读源码 就是说,通过阅读源码能给你带来什么好处. 学习如何从需求-设计-实现,开阔你的思维,提升你的架构设计能力: 帮助更好地理解原理和架构设计: 帮助更快地定位线上问题BUG 可以根据自己 ...

  10. kubernetes-dashboard部署

    参考资料: kubernetes官方文档 官方GitHub 创建访问用户 解决chrome无法访问dashboard 官方部署方法如下: kubectl apply -f https://raw.gi ...