目录
一、jenkins简介
1、jenkins
JenkinsJenkins是一个用Java编写的开源持续集成工具。它跟踪版本控制系统, 并在发生更改时启动和监视构建系统。可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用。常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。
- jenkins的优势
(1)在开发环境的早期阶段能够很容易的进行错误跟踪
(2)提供了大量的插件支持
(3)能够对代码进行迭代改进
(4)若是迭代失败会在集成阶段进行缓存
(5)对每个代码进行更改,会生成一个自动生成报告通知
(6)通过简单的步骤即可自动完成maven发布项目
2、CI/CD是什么?
- CI
CI(Continuous integration,持续集成)持续集成指的是频繁的将代码集成到主干上(一天多次),持续集成的目的是让产品可以快速迭代同时还能让产品保持较高质量。持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。在代码集成到主干之前必须进行自动化测试,只要有一个测试用例失败就不能够集成。 - 优点
(1)提高开发效率
(2)能快速发现并定位bugs
(3)能够更快速的发布更新
- CD
- 持续交付
CD(Continuous Delivery, 持续交付)是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境(类生产环境)中,也就是频繁的将新版本交给质量团队或者用户以供评审,如果通过代码就进入生产阶段。持续交付可以看做是持续集成的下一步,它强调的是不管怎么更新,软件都是随时可以交付的。持续交付在持续集成的基础上将集成后的代码部署到更加贴近真实运行的环境中。
- 持续部署
持续部署(continuous deployment)是持续交付的下一步,指代码通过评审后自动部署到生产环境中。 持续部署的目标是代码在任何时间都是可部署的可以进入生产环境的。持续部署的前提是能自动化完成测试、构建、部署等步骤。
下图是持续部署与持续交付的区别,也就是持续部署在代码检测完成后是自动部署到生产环境阶段的。
二、jenkins的部署
1、环境准备
关闭火墙和selinux的拥有rhel7软件仓库的虚拟机
server1 gitlab仓库(在我的博客git工具的使用中查看如何部署)
server6 jenkins
2、安装jenkins
jenkins下载地址:
#清华镜像源,选择自己所需要的jenkins版本,这里我下载的是jenkins-2.319-1.1.noarch.rpm
https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/
jdk官网下载地址(需要注册账号并登陆):
https://www.oracle.com/cn/java/technologies/javase/jdk11-archive-downloads.html
依赖包daemonize下载地址:
http://rpmfind.net/linux/RPM/epel/7/x86_64/Packages/d/daemonize-1.7.7-1.el7.x86_64.html
[root@server6 ~]# wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/jenkins-2.319-1.1.noarch.rpm --no-check-certificate
[root@server6 ~]# ls
anaconda-ks.cfg jdk11-archive-downloads.html
daemonize-1.7.7-1.el7.x86_64.rpm jenkins-2.319-1.1.noarch.rpm
jdk-11.0.11_linux-x64_bin.rpm original-ks.cfg
#先安装jdk再安装deamon依赖最后安装jenkins
[root@server6 ~]# rpm -ivh jdk-11.0.11_linux-x64_bin.rpm
[root@server6 ~]# rpm -ivh daemonize-1.7.7-1.el7.x86_64.rpm
[root@server6 ~]# yum install -y jenkins-2.319-1.1.noarch.rpm.
#开启jenkins服务
[root@server6 ~]# systemctl start jenkins
[root@server6 ~]# systemctl status jenkins.service
#查看端口,jenkins所使用的8080端口处于开放状态
[root@server6 ~]# netstat -antlp
tcp6 0 0 :::8080 :::* LISTEN 17940/java
浏览器访问ip:端口号
#查看jenkins密码将其复制并粘贴到浏览器中的密码框点击继续按钮
[root@server6 ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
2916f9b1fb7b430f8b149239c8b080a8
浏览器访问ip:端口号:http://192.168.230.137:8080等待一段时间后进入如下页面
粘贴密码并点击继续按钮
登陆成功点击安装推荐的插件,等待安装完成
安装完成后进入如下登陆页面,先使用右下角的admin登陆
点击保存完成,开始使用jenkins
* 修改登陆密码
点击右上角的admin用户–》设置–》password—》修改并保存
重新登陆jenkins
jenkins安装完成
3、更新插件源
在jenkins管理