一、什么是持续集成?
(1)Continuous integration(CI)
持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。
(2)没有持续集成
项目做模块集成的时候,发现很多借口都不通==>浪费大量时间
需要手动去编译打包最新的代码==>构建过程不透明
发布代码,上线,基本靠手工==>脚本乱飞
(3)持续集成最佳实践:
维护一个单一的代码库
使构建自动化
执行测试是构建的一部分
集成日志及历史记录
使用统一的依赖包管理库
每天至少集成一次
(4)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
(5)部署代码上线流程:
1.代码获取(直接拉取)
2.编译 (可选)
3.配置文件放进去
4.打包
5.scp到目标服务器
6.将目标服务器移除集群
7.解压并放置到Webroot
8.Scp 差异文件
9.重启 (可选)
10.测试
11.加入集群
linux下jenkins的安装步骤如下:
1、先安装需要的jdk环境,jenkins最新版的安装,要求JDK必须是1.8及以上。
2、安装tomcat,官网下载https://tomcat.apache.org/download-80.cgi的zip包,上传到linux服务器,解压,执行bin目录下startup.sh脚本启动tomcat,http的默认端口8080,在server.xml中配置。
执行startup.sh时候可能会报错:Cannot find ./catalina.sh,解决方法:执行chmod +x *.sh ,将所有sh脚本赋上可执行权限。
3、http://ftp-chi.osuosl.org/pub/jenkins/war-stable/2.190.3/jenkins.war地址下载jenkins的war包,将war包上传到服务器tomcat的webapps文件夹下,重新启动tomcat。
4、访问:http://localhost:8080/jenkins页面,首次访问会进入下面页面:
2、进入/root/.jenkins/secrets/initialAdminPassword文件查看初始密码,复制到管理员密码栏,点继续。
3、页面会进入下面界面:
4、查看/root/.jenkins/hudson.model.UpdateCenter.xml文件,更改https://updates.jenkins.io/update-center.json为https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json,或者https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json。重启tomcat,重新访问jenkins页面。进入如下界面。
5、选择推荐的插件安装。
6、安装好后,进入下面界面输入用户名密码。
7、可以访问https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/,手动下载需要插件,然后上传jenkins。