文章目录

  • 什么是持续集成?CI/CD指的是什么?
  • 如何实现持续集成
  • 一、筹备工作,CentOS 7.6系统
    • 1、安装JDK,配置环境变量
    • 2、Maven下载
    • 3、Git安装
    • 4、GitLab安装
    • 5、Git密钥生成以及Gitlab配置
    • 6、Maven私服Nexus的搭建
    • 7、安装Jenkins
    • 8、Sonar安装教程
  • 二、实现持续集成
    • 1、以前的手动集成
    • 2、Hook触发自动构建
    • 3、流水线Pipeline
    • 4、分布式构建

什么是持续集成?CI/CD指的是什么?

CI(Continuous Integration)指的是持续集成,
CD指的是持续交付(持续部署)
持续交付(Continuous delivery)指的是,频繁地将软件的新版本,交付给质量团队或者用户,以供评审。
持续部署(continuous deployment)是持续交付的下一步,指的是代码通过评审以后,自动部署到生产环境。

为什么需要持续集成呢?

为了提高效率。

如何实现持续集成

本文将使用Jenkins+Git+Gitlab+Sonar+Nexus实现持续集成。

一、筹备工作,CentOS 7.6系统

就全部使用我写过的文章啦,哈哈哈哈,步骤真的很细

1、安装JDK,配置环境变量

传送门:JDK安装和配置 - 全系统教程(CentOS&Mac&Windows)

2、Maven下载

传送门:Maven的安装配置

3、Git安装

官网传送门:Git - Downloads

4、GitLab安装

传送门:Centos7.6安装Gitlab

5、Git密钥生成以及Gitlab配置

传送门:Git密钥生成以及Gitlab配置

6、Maven私服Nexus的搭建

传送门:使用Nexus搭建Maven私服

7、安装Jenkins

传送门:Jenkins安装教程
包含添加Sonar和maven等相关插件

8、Sonar安装教程

传送门:SonarQube安装教程

二、实现持续集成

1、以前的手动集成

  • 定时表达式含义
* * * * * --五个字段
分 时 天 月 周
  • 构建环境
Delete workspace before build starts:在构建之前清空工作空间
Abort the build if it's stuck:如果构建出现问题则终止构建
Add timestamps to the Console Output:给控制台输出增加时间戳
Use secret text(s) or file(s):使用加密文件或者文本
  • 执行shell
#!/bin/bash
mv target/*.jar /root/demo/
cd /root/demo
BUILD_ID= java -jar springboot-demo.jar >log 2>&1 &

2、Hook触发自动构建

  • 安装Gitlab钩子。Jenkins - 插件管理
  • 点开指定的Jenkins任务 - 配置 - 构建触发器的位置多了一个
    选择Enabled Gitlab triggers的时间,并且复制出来下图中的url,用于gitlab配置

    点开高级,选择generate生成一个token,复制出来,gitlab会用

    复制token
    第一步点开Admin,第二步打开Setting
  • 打钩,save change
  • 打开指定的项目,integrations
    填写URL和token

    Add WebHook就完事!

3、流水线Pipeline

比较复杂的一些工程,使用代码进行配置,主要使用的语言是Groove

  • 安装插件打开Open Blue Ocean
    使用这个蓝海进行创建流水线。配置方法和新建一个任务大体一致,细不谈。

4、分布式构建

当我们Jenkins的任务太多忙不过来,需要更多的空余机器帮忙执行构建,就需要配置多节点。
系统管理 - 管理节点 - 新建节点
填写相应信息
显示离线

原因是因为没有配置它的jdk路径,重新打开设置。点开高级。
配置新的任务

可以看到test2已经正在构建了,说明分布式构建生效!

【DevOps】Jenkins+Git+Gitlab+Sonar+Nexus实现持续集成相关推荐

  1. 基于Jenkins+git+gradle+pgyer的android持续集成

    前段时间搞了下CI持续集成工具,这里总结一下:供需要的朋友参考,错误之处还请指出,与君共勉. 主要步骤如下: 1. jenkins 安装配置 2.打包环境配置 3.系统配置及插件管理 4.新建项目.b ...

  2. jenkins+git+maven搭建项目自动化持续集成

    2019独角兽企业重金招聘Python工程师标准>>> 1.概要说明 为了开发人员和测试人员的解耦,让开发和测试流程更加便捷,所以采用jenkins+git+maven这套可持续性集 ...

  3. Jenkins+Jmeter+Gitlab+Ant接口自动化持续集成构建(环境搭建配置)

    第一步:环境搭建: 准备工作: Java及jdk配置.jmeter安装配置.Jenkins搭建完成.安装Ant 一.JDK配置 JDK配置请百度自行配置 二.Jmeter安装配置 1.把 apache ...

  4. 末学者笔记--Jenkins+Git+Gitlab+Ansible实现持续集成自动化部署静态网站

    Jenkins+Git+Gitlab+Ansible实现持续集成自动化部署静态网站 一.Jinkens安装                                                ...

  5. Jenkins+Git+Gitlab+Ansible实现持续集成自动化部署动态网站(二)--技术流ken

    项目前言 在上一篇博客<Jenkins+Git+Gitlab+Ansible实现持续化集成一键部署静态网站(一)--技术流ken>中已经详细讲解了如何使用这四个工具来持续集成自动化部署一个 ...

  6. java 当一个文本框有值时另一个文本框置灰_【农行DevOps进行时】基于PaaS的持续集成/持续交付实践 | IDCF...

    作者:曹睿 一.概述 在互联网高速发展的背景下,产品的先发优势被互联网加倍放大,业务需求变化频繁,创新步伐越来越快,导致研发效能被越来越多企业放到极其重要的位置,为了适应日益激烈的业务竞争,必须快速响 ...

  7. 基于Jenkins的开发测试全流程持续集成实践

    今年上半年一直在公司实践CI,本文将上半年来的一些实践总结一下,可能不太完善或优美,但的确初步解决了我目前所在项目组的一些痛点.当然这仅是一家之言也不够完整,后续下半年还会深入实践和引入Kuberne ...

  8. Docker+Jenkins+Git+GitLab实现DevOps

    先了解一下Jenkins Jenkins是一个开源的.提供友好操作界面的持续集成(CI)工具,提供了数百个插件来支持构建,部署和自动化任何项目.我们可以使用Jenkins结合常用的版本控制工具(git ...

  9. jenkins jboss_与JBoss Fuse,Jenkins和Nexus的持续集成

    jenkins jboss 最近,我正在整理一个快速启动的Maven项目,以展示组织JBoss Fuse项目的可能方法. 该项目可以在Github上找到: https : //github.com/p ...

最新文章

  1. 和12岁小同志搞创客开发:如何驱动各类型传感器?
  2. vivo自带便签新版_vivo手机笔记在哪里及如何用vivo手机做笔记?
  3. LeetCode算法题-Minimum Depth of Binary Tree(Java实现)
  4. 2019人工智能实战 第六次作业 段峙宇
  5. 【maven3学习之一】window7下maven环境搭建
  6. Winfrom实现圆角设计
  7. 前端学习(2924):watch的用法
  8. 371. Sum of Two Integers (Binary)
  9. 局域网打印机怎么连接_苹果手机怎么连打印机?苹果系统怎么连接网络打印机?一看就会...
  10. 围观知乎真福利话题,放松一下。
  11. php opcode列表,PHP中的opcode
  12. python获取所有a股股票代码_股票量化分析(一)获取A股列表
  13. 欧格教育:怎么提升店铺流量
  14. 深耕核心技术·赋能数字化转型
  15. 【Unity2d】Sprite Renderer精灵渲染器
  16. 鸿蒙相符合的图片,鸿蒙操作系统亮相——目标是未来的物联网
  17. 2013年广州盛成php开发工程师第一轮笔试回顾
  18. 图的遍历(深度优先遍历DFS,广度优先遍历BFS)以及C语言的实现
  19. Android 10.0取消系统默认的全盘加密(fstab分区加密)
  20. 教育知识与能力——辨析题30题

热门文章

  1. 美团二面:说说单点登录吧
  2. CVE-2022-22963 Spring Cloud Function SpEL 远程代码执行漏洞 复现
  3. linux笔记本无法识别显示器,为了解决笔记本外接显示器导致Ubuntu显示异常的问题,我做了这么多事情......
  4. 华为鸿蒙不用了,不用华为鸿蒙就该骂?中兴的遭遇,敲响了一个警钟
  5. 转 真正的轻量级WebService框架——使用JAX-WS(JWS)发布WebService
  6. [组图]Nokia PC Connectivity SDK 3.0入门(转)
  7. 任务管理器中的PID是什么?怎么查看?
  8. 面试官与JAVA应聘者的对话
  9. 签署《目标承诺书》,没完成目标,厚着脸皮不离职是否可行
  10. Boosting Adversarial Attacks with Momentum