什么是CI:Continuous Integration,也就是持续集成
什么是CD:Continuous Delivery 和 Continuous Deployment,也就是持续交付、持续部署
持续集成
:就是开发提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,测试过程可以确定新代码和原有代码能否正确地集成在一起,如果测试过程有问题,那么将返回代码给开发部门
持续交付
:在持续集成的基础上,将集成后的代码部署到更贴近于真实的生产环境中。在贴近真实的生成环境中,可以提高数据支撑,且进一步做测试,如果进一步测试没有问题,那么可以部署到线上的生成环境中
持续部署
:是在持续交付的基础上,把部署到生产环境的过程自动化,实现部署无需人工参与,如何在部署的过程中出现问题,将立即回滚代码
(一)
Jenkins持续集成简介
目前主流网站部署方法,通过可以通过Jenkins平台实现全自动部署+测试,Jenkins是一个可扩展的持续集成引擎,是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
有了Jenkins之后,开发人员写好代码,不需要自己进行源码编译、打包等工作,直接将代码分支存放在SVN、GIT仓库即可,运维人员只需要在Jenkins平台将代码构建,部署,和测试。减少人工干预的错误率,同时解放运维人员繁杂的上传代码、手动备份、更新。在Jenkins平台上,运维人员可以实现自动构建过程,包括自动编译、分发、部署和测试
(二)
Jenkins 平台安装
由于Jenkins属于一个JAVA 开源项目,需要java容器才能运行jenkins,所以需要安装JDK+Tomcat。如果直接下载RPM包,也可以,因为无论你是下载Java 的 WAR包,还是下载RPM包,都是自带Jetty容器的,jetty类始于Tomcat,是一个Java web 容器
官网:https://jenkins.io
1:使用RPM包安装Jenkins
1:创建镜像仓库(如果不需要检测镜像的完整性,那么可以编辑/etc/yum.repos.d/jenkins.repo文件,设置 gpgcheck=
0 即可)
wget -O /etc/yum.repos.d/jenkins.repo
https:/
/pkg.jenkins.io/redhat-stable/jenkins.repo
2:yum 安装(无需配置Tomcat容器,自大jetty容器)
yum install jenkins
3:查看jenkins所提供的文件
[root@
7 ~]
# rpm -ql jenkins
/etc/init.d/jenkins
/etc/logrotate.d/jenkins
/etc/sysconfig/jenkins
/usr/
lib/jenkins
/usr/
lib/jenkins/jenkins.war
/usr/sbin/rcjenkins
/var/cache/jenkins
/var/
lib/jenkins
/var/log/jenkins
4:直接运行Jenkins
service jenkins start
5:在浏览器访问Jenkins,在/var/
lib/jenkins/secrets/initialAdminPassword文件中拷贝需要的密钥,登入Jenkins,在Jenkins平台安装构建,发布,部署所依赖的插件