持续集成-Jenkins搭建

CI/CD介绍
互联网软件的开发和发布,已经形成了一套标准流程,假如把开发工作流程分为以下几个阶段:

编码 --> 构建 --> 集成 --> 测试 --> 交付 --> 部署

[持续集成(Continuous Integration)]、[持续交付(Continuous Delivery)]和[持续部署(Continuous Deployment)]有着不同的软件自动化交付周期。

持续集成(CI)
上面整个流程中最重要的组成部分就是持续集成(Continuous integration,简称CI)。

持续集成指的是,频繁地(一天多次)将代码集成到主干。将软件个人研发的部分向软件整体部分交付,频繁进行集成以便更快地发现其中的错误。

它的好处主要有两个:

1. 快速发现错误。每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易;

2. 防止分支大幅偏离主干。如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成。

持续集成并不能消除Bug,而是让它们非常容易发现和改正。持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。它的核心措施是,代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。

持续交付
持续交付(Continuous delivery)指的是,频繁地将软件的新版本,交付给质量团队或者用户,以供评审。如果评审通过,代码就进入生产阶段。

持续交付在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境的「类生产环境」(production-like environments)中。持续交付优先于整个产品生命周期的软件部署,建立在高水平自动化持续集成之上。

持续交付可以看作持续集成的下一步。它强调的是,不管怎么更新,软件是随时随地可以交付的。

持续部署(CD)
持续部署(continuous deployment)是持续交付的下一步,指的是代码通过评审以后,自动部署到生产环境。

持续部署的目标是,代码在任何时刻都是可部署的,可以进入生产阶段。

持续部署的前提是能自动化完成测试、构建、部署等步骤。

总的来说,持续集成、持续交付、持续部署提供了一个优秀的 DevOps 环境。对于整个开发团队来说,能很大地提升开发效率,好处与挑战并行。无论如何,频繁部署、快速交付以及开发测试流程自动化都将成为未来软件工程的重要组成部分。

 

一、Jenkins简介

Jenkins只是一个平台,真正运作的都是插件。这就是jenkins流行的原因,因为jenkins什么插件都有 Hudson是Jenkins的前身,是基于Java开发的一种持续集成工具,用于监控程序重复的工作,Hudson后来被收购,成为商业版。后来创始人又写了一个jenkins,jenkins在功能上远远超过hudson

Jenkins官网:https://jenkins.io/

Jenkins下载:http://updates.jenkins-ci.org/

jenkins的全部镜像:http://mirrors.jenkins-ci.org/status.html

二、Jenkins安装

1.首先先添加Jenkins源

sudo wget -O /etc/yum.repos.d/jenkins.repo http://jenkins-ci.org/redhat/jenkins.reposudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key

如果出现sudo: wget: command not found错误,需要先安装wget,如下

yum -y install wget

 

  持续集成-Jenkins搭建  

Wget安装成功之后,再安装Jenkins源。

 

  持续集成-Jenkins搭建  

 

  持续集成-Jenkins搭建  

2.[endif]安装Jenkins

使用yum install jenkins命令安装

 

  持续集成-Jenkins搭建  

3.[endif]启动Jenkins

 

  持续集成-Jenkins搭建  

启动Jenkins

sudo service jenkins start

如果启动失败,出现如下错误,说明环境没有安装java环境,需要使用如下命令安装java环境,  sudo yum install java

  持续集成-Jenkins搭建  

4.[endif]访问Jenkins

 

jenkins安装成功之后默认端口号是8080,通过浏览器即可访问,初次访问看到如下界面

 

  持续集成-Jenkins搭建  

5.[endif]修改Jenkins配置文件

通过Jenkins配置文件可以修改Jenkins默认的配置,包括端口号,配置文件目录:

/etc/sysconfig/jenkins      Jenkins配置文件

/var/lib/jenkins/           默认的JENKINS_HOME,Jenkins安装目录

/var/log/jenkins/jenkins.log:Jenkins日志文件

6.[endif]Jenkins初始化安装

(1)[endif]解锁你的Jenkins

 

  持续集成-Jenkins搭建  

(2)[endif]自定义Jenkins,安装插件

 

  持续集成-Jenkins搭建  

所有插件安装成功之后创建一个用户,如果有部分插件没有安装成功,可以点击重试,重新安装,多重试几次即可全部安装完成。

 

  持续集成-Jenkins搭建  

设置成功之后,点击开始使用Jenkins,开启您的Jenkins之旅

  持续集成-Jenkins搭建  

三、Jenkins配置

1.Jenkins用户权限

Jenkins登录之后,点击左侧的系统管理菜单,右侧下拉,找到Manage and Assign Roles连接,选择Assign Roles连接

 

 

  持续集成-Jenkins搭建  

 

  持续集成-Jenkins搭建     持续集成-Jenkins搭建  

添加用户点击add按钮,并给用户选择角色即可。

 

  持续集成-Jenkins搭建  

 

2.Jenkins基本信息配置

找到系统设置功能,点击进去

 

  持续集成-Jenkins搭建  

(1)Maven配置

找到Maven项目配置项,设置Maven相关配置项

 

  持续集成-Jenkins搭建  

(2)配置SSH remote hosts

 

  持续集成-Jenkins搭建  

(3)配置Gitlab  前提需要安装gitlab插件

 

  持续集成-Jenkins搭建  

(4)配置SSH Servers(可配置多个)

 

  持续集成-Jenkins搭建  

 

 

 

3.Jenkins配置部署信息

点击新建,新建一个任务

填写任务的名字,选择构建一个Maven项目

 

  持续集成-Jenkins搭建  

配置Gitlab信息及jdk信息

 

  持续集成-Jenkins搭建  

配置项目在Gitlab地址

 

  持续集成-Jenkins搭建  

配置Post Steps,Exec command里配置Linux执行命令,启动项目

 

  持续集成-Jenkins搭建  

4.[endif]Jenkins部署启动项目

点击Jenkins首页,在构建任务列表里点击右侧的build按钮,实现一键重新构建部署启动项目

 

  持续集成-Jenkins搭建  

左侧的小太阳表示服务正常启动运行

四、Jenkins问题处理

1.[endif]首次访问一直出现如下界面

解决方法如下:

(1)在$JENKINS_HOME/hudson.model.UpdateCenter.xml文件中,默认内容如下

 

  持续集成-Jenkins搭建  

<?xml version='1.0' encoding='UTF-8'?>

 <sites>

   <site>

    <id>default</id>

    <url>http://updates.jenkins-ci.org/update-center.json</url>

   </site></sites

这个地址在外国的服务器,因为墙的原因,下载初始化界面所需插件不了,就一直处于等待状态

把url改为http://mirror.xmission.com/jenkins/updates/update-center.json就解决了



作者:TechMan_
链接:https://www.jianshu.com/p/29be4fd506ae
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

上一篇:Qt项目升级到Qt6吐血经验总结


下一篇:跨平台宏定义