持续集成的核心价值在于:
- 1、持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,有利于减少重复过程以节省时间、 费用和工作量,节省了人手工集成的时间。而且能更快更早的发现编译和测试的问题
- 2、持续集成保障了每个时间点上团队成员提交的代码是能成功集成的。换言之,任何时间点都能第一时间 发现软件的集成问题,使任意时间发布可部署的软件成为了可能;
- 3、持续集成还能利于软件本身的发展趋势,这点在需求不明确或是频繁性变更的情景中尤其重要,持续集 成的质量能帮助团队进行有效决策,同时建立团队对开发产品的信心。
jenkins的特点
- Jenkins是一个软件界非常流行的开源CI服务器,jenkins是基于Java开发的一种持续集成工具,用于监控的工作,功能包括:持续的软件版本发布/测试项目。
- 监控外部调用执行的工作
- Jenkins能实时监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示的趋势和稳定性。使用J
Jenkins的益处有:
- -易安装、易配置-基于
- Web访问,用户界面非常友好、直观和灵活-
- Jenkins是基于Java开发的,但它不仅限于构建基于Java的软件
- -变更支持:Jenkins能从代码仓库(Subversion/GIT)中获取并产生代码更新列表并输出到编译输出信息中-
- 测试报告:也就是用以图表等形式提供详细的测试报表功能
- -拥有大量的插件:这些插件极大的扩展了Jenkins的功能
典型的工作流:pull--->编译--->测试--->发布
我的jenkins的Linux下的存放位置:/var/lib/jenkins
官网的流程图:
1.把Source code里面的代码从代码服务器拉取下来,放入项目的工作目录中,
2.然后project configuration配置项目,配置完之后对项目进行编译。如果编译的时候如果有Bug,编译不通过,系统会发通知给工作人员。
3.编译通过之后,会对项目进行测试。如果测试的时候有Bug,也会给相应的工作人员发报表,出通知
4.测试通过之后,会把项目进行打包,如果是Java就会大打人war包,发布到服务器上去。此时就可以正式发布到生产环境上去,或者是预发布环境中去
启动jenkins:nohup java -jar jenkins.war --httpPort=8088
配置jenkins:
在系统设置里面配置
1.配置Jenkins的环境变量
2.因为后边要用到SonarQube,所以我把SonarQube也配置了
3.配置了jenkins的路径配置:
在全局工具配置里面配置
1.配置jDK路径和名字
2.配置Maven
练习1
1.项目描述
2.配置源码
3.构建触发器:定时构建,轮询构建
4.构建环境:linux可以是shell脚本
参数说明:
scp 跨服务器拷贝项目