持续集成的核心价值在于:
1、持续集成(CI)中的任何一个环节都是自动完成的,无需太多的人工干预,有利于减少重复过程以节省时间、 费用和 工作量;
2、持续集成保障了每个时间点上团队成员提交的代码是能成功集成的。换言之,任何时间点都能第一时间 发现软 件的集成问题,使任意时间发布可部署的软件成为了可能;
3、持续集成还能利于软件本身的发展趋势,这点在需求不明确或是频繁性变更的情景中尤其重要,持续集成的质量能帮助团队进行有效决策,同时建立团队对开发产品的信心。
jenkins特点
jenkins是基于java语言开发的测试工具,但它不仅限于构建基于Java的软件
基于Web访问,用户界面非常友好、直观和灵活 ;提供测试报表功能;拥有大量的插件。
jenkins的使用
典型的工作流:
- pull
- 编译
- 测试
- 发布
Jenkins会定时获取最新的代码,自动运行你的编译脚本,编译成功后,再运行你的测试脚本,这一步成功后,接 着它会帮你把新程序发布出去,编译失败就会发出通知
jenkins应用
将代码从指定路径拉下来,轮询构建,编译成功后发布到指定服务器上
jenkins使用流程:
-
新建任务–输入任务名称–构建自由风格的项目–确定
-
描述–配置丢弃构建(10 30)
-
源码管理git–把源码路径粘贴,选择分支
-
构建触发器:轮询SCM(与定时构建的区别:轮询会智能一些,代码有变动了才会重新构建)–日程表需要用专门的语法输入,例如H 5 * * *,表示每晚5点开始运行Job
-
构建–选择执行shell(windows下选择windows构建)—命令:
$sudo cd /var/lib/jenkins/workspace(进入jenkins指定目录)
$sudo python TEST.py(项目文件名)
$sudo scp /var/lib/jenkins/workspace/TEST.py /home/testwork(在同一台服务器中拷贝文件,scp是跨服务器部署,cp是同一台服务器上部署,这里是模拟在不同的服务器上构建)
- 配置完成,保存
将代码从指定路径拉下来,轮询构建,编译测试成功后发布到指定服务器上
-
新建任务–输入任务名称–构建自由风格的项目–确定
-
描述–配置丢弃构建(10 30)
-
源码管理git–把源码路径粘贴,选择分支
-
构建触发器:轮询SCM(与定时构建的区别:轮询会智能一些,代码有变动了才会重新构建)–日程表需要用专门的语法输入,例如H 5 * * *,表示每晚5点开始运行Job
-
构建–选择执行shell(windows下选择windows构建)—命令:
$sudo cd /var/lib/jenkins/workspace(进入jenkins指定工作目录)
$sudo g++ Test.cpp -o compress(编译c++文件)
$sudo ./compress(执行编译好的文件)
$sudo scp -r /var/lib/jenkins/workspace/TEST.py /home/testwork(在同一台服务器中拷贝目录)
----增加构建步骤
:编写测试脚本
#codig utf-8(指定字符集)
import os(导入模块)
file1='/var/lib/jenkins/workspace/Input.txt.huffman'
file2='/var/lib/jenkins/workspace/Input.txt.unhuffman'
if os.path.exists(file1) and os.path.exists(file2)
print 'compress success'
else
print 'compress fail'
- 配置完成,保存
基于MongoDB的分布式图片文件服务器
-
安装maven,Deploy war/ear to a containers插件
-
新建任务–输入任务名称–构建自由风格的项目–确定
-
描述–配置丢弃构建(10 30)
-
源码管理git–把源码路径粘贴,选择分支
-
构建触发器:轮询SCM(与定时构建的区别:轮询会智能一些,代码有变动了才会重新构建)–日程表需要用专门的语法输入,例如H 5 * * *,表示每晚5点开始运行Job
-
构建–选择Execute SonarQube Scanner—命令:
sonar.projectKey=javaSonar sonar.projectName=JAVAfile sonar.projectVersion=1.0 sonar.language=java sonar.sources=/var/lib/jenkins/workspace/javaproject1 sonar.sourceEncoding=UTF-8
-----增加构建步骤,选择maven目标,配置maven版本:maven;目标:clean compile findbugs:findbugs install -e ;属性:maven.test.skip=true
—增加构建后操作:配置AR/EAR files: target/javatest.war(相对于项目我们的路径);add container::增加容器,一般选tomcat 8X就可以;add:添加tomcat的用户名(tomcat)和密码(tomcat)
这里的username与password需要到tomcat的conf文件夹 中的tomcat-users.xml修改
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-status"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
<user username="tomcat" password="tomcat" roles="manager-gui,manager-script,manager-status"/
- 保存
- 进行构建
- 查看日志
视图管理
新建视图–输入视图名称–列表视图–选择要看的视图
用户管理
系统管理–管理用户—新建用户—分配权限