个人理解持续集成:为解决程序代码提交质量低,提交内容导致原有系统的BUG,按时或按需自动编译版本,进行自动化测试。
百度对持续集成的定义:持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。
为什么写这篇文章:笔者在学习jenkins的过程中遇到了很多坑,且学习过程中好多搜到的资料过于零散,导致学习进度缓慢,想通过这篇文章,能让大家在学习的过程中少走弯路。虽然我预计这篇文章是做不到的,但是能够帮助到几位也是好的,以此为望,大家共勉。
系统&安装方式 |
直接使用WAR文 |
安装包安装 |
将WAR文件放到WEB容器 |
Windows系统 |
难度:低 |
难度:中 |
难度:高 |
Linux系统 |
难度:低 |
难度:中 |
难度:高 |
Mac系统 |
难度:低 |
难度:中 |
难度:高 |
者推荐直接使用WAR文件,越简单的东西越适合初学者。且笔者在使用安装包安装中,出现过一次无法获取插件列表的情况。
系统版本 |
JDK版本 |
Jenkins版本 |
Windows10 |
JDK8 |
Jenkins1.651 |
下载安装最新版本Jenkins:
登陆 http://jenkins-ci.org/ 下载windows版本
下载的压缩包内含一个.msi程序,直接安装
系统版本 |
JDK版本 |
Jenkins版本 |
Ubuntu 14.04LTS 桌面版 |
Openjdk-7-jdk |
Jenkins1.651 |
Ubuntu安装包安装:
安装open-JDK:
sudo apt-get install openjdk-7-jdk
安装Jenkins:
wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
sudo sh -c 'echo deb Debian Jenkins Packages binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update -y
sudo apt-get install jenkins -y
安装位置:
安装目录:/var/lib/jenkins
日志目录:/var/log/jenkins/jenkins.log
启动停止服务:
sudo /etc/init.d/jenkins start
sudo /etc/init.d/jenkins stop
访问jenkins:
http://本机IP:8080/
直接使用WAR文件:
下载war文件
将对应war文件传入linux服务器(以下简单介绍几种传入方式,仅仅提供思路以做百度谷歌之用)
使用war文件开启服务
Java -jar /home/jenkins.war(wan文件路径) --Port=8080(端口)
访问jenkins
http://本机IP:8080/
将服务加入开机启动
cd /etc/init.d //切换目录
vi jenkins.sh //编写shell脚本
插入java -jar /home/jenkins.war(wan文件路径) --Port=8080(端口)& //后台运行
chmod 755 jenkins.sh //修改shell脚本权限
update-rc.d test defaults 95(启动顺序编号) //加入启动项
update-rc.d -f jenkins.sh remove //删除启动项(需在/etc/init.d目录下执行)
Jenkins的安装目录:
/root/.jenkins/
访问jenkins:
http://本机IP:8080/jenkins/
TomCat+Jenkins:
下载安装tomcat
下载tomcat
http://tomcat.apache.org/download-80.cgi
将tomcat安装包传入服务器
解压安装包
tar -cvzf apache-tomcat-8.0.12.tar.gz
复制解压文件到你想要的安装路径
cp -r apache-tomcat-8.0.12 /目标路径
进入安装路径,以/opt/tomcat/为例
cd /opt/tomcat/
编辑tomcat启动脚本,加入环境变量
vim ./bin/startup.sh
加入一下内容,路径改为你自己的环境变量路径
JAVA_HOME=/usr/lib/jvm/jdk1.8.0_31
JRE_HOME=${JAVA_HOME}/jre
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
TOMCAT_HOME=/opt/apache-tomcat-8.0.17
ps:需要放在exec "$PRGDIR"/"$EXECUTABLE" start "$@"这一行上边
编辑catalina.sh文件,加入环境变量,否则jenkins会报找不到Ant错误
#See the license for the……
JAVA_HOME=/usr/lib/jvm/jdk1.8.0_31
Export JENKINS_HOME="/root/.jenkins"
将WAR文件放入tomcat安装路径/webapps/目录下
启动&关闭tomcat
./bin/startup.sh
./bin/shutdown.sh
Jenkins的安装目录:
/root/.jenkins/
HTML Publisher Plugin 插件在新的Jenkins版本中会导致打开的网页中无法加载CSS以及无法点击按钮的情况,由于CSP导致,可在Jenkins控制台中执行:System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")以解决此问题。其他由于CSP原因导致的html插件也可用此方法解决。
|
进入系统管理
进入插件管理
切换可选插件分页
选择插件,直接安装
若遇到可选插件为空的情况
进入插件管理,高级分页
上传插件
PS:
如果用户权限配置错误导致无法修改,修改服务器jenkins安装目录下config.xml文件,重启jenkins服务即可。
进入系统管理—Configure Global Security
选择Jenkins专用用户数据库,允许用户注册,保存
注册用户
启动安全矩阵,添加用户,添加权限,保存
- BUILD_NUMBER,唯一标识一次build,例如23;
- BUILD_ID,基本上等同于BUILD_NUMBER,但是是字符串,例如2011-11-15_16-06-21;当前只有ID
- JOB_NAME, job的名字,例如JavaoWorld;
- BUILD_TAG,作用同BUILD_ID,BUILD_NUMBER,用来全局地唯一标识一此build,例如jenkins-JavaHelloWorld-23;
- EXECUTOR_NUMBER, 例如0;
- NODE_NAME,slave的名字,例如MyServer01;
- NODE_LABELS,slave的label,标识slave的用处,例如JavaHelloWorldMyServer01;
- JAVA_HOME, java的home目录,例如C:\Program Files (x86)\Java\jdk1.7.0_01;
- WORKSPACE,job的当前工作目录,例如c:\jenkins\workspace\JavaHelloWorld;
- HUDSON_URL = JENKINS_URL, jenkins的url,例如http://localhost:8000/;
- BUILD_URL,build的url 例如http://localhost:8000/job/JavaHelloWorld/23/;
- JOB_URL, job的url,例如http://localhost:8000/job/JavaHelloWorld/;
- SVN_REVISION,svn 的revison, 例如4;
创建项目,输入项目名称,选择项目类型
根据项目情况输入项目信息
构建
查看构建结果(蓝点为成功,红点为失败,Console Output选项为查看构建的log)
构建触发器
Poll SCM(检查代码库)
构建脚本
构建后操作
感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取