使用jenkins持续集成
Jenkins是一款由Java开发的开源软件醒目,旨在提供一个开源易用的软件平台,使持续集成成为可能,它的前身就是大名鼎鼎的Hundson。
什么是持续集成呢?以下概念摘自IBM团队的定义:
随着软件复杂度的不断提高,团队开发人员之间如何更好地协调工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题,持续集成正是针对这类问题的一种软件开发实践。它倡导团队开发成员必须经常集成他们的工作,甚至每天都有可能发生多次集成。而每次集成都是通过自动化的构建来验证的,包括自动编译、发布和测试,从而尽快发现集成错误,让团队能够更快地开发内聚的软件。
持续集成的核心价值在于以下几点:
1) 持续集成的任何一个环节都是自动完成的,无须太多的人工干预,有利减少重复过程,以节省时间、费用和工作量。
2) 持续集成保障了每个时间点上团队成员提交的代码是能够成功集成的,即在任何时间点都能第一时间发现软件的继承问题,使任意时间发布可部署的软件成为可能。
3) 持续集成还有利于软件本身的发展趋势,这点在需求不明确或者频繁性变更的情景中尤其重要,持续集成的质量能够帮助团队进行有效决策,同时建立团队开发产品的信心。
使用Jenkins做持续集成,就不用每次都登陆上服务器上进行操作,只需要单击“Build Now”按钮,就可以自动从Git仓库获取代码,然后远程部署到目标服务器,执行一些安装依赖包和测试的命令,最后启动应用。
下面开始一步步创建一个项目的构建环境。
�1. 配置服务器连接
Manage Jenkins -> Configure System
Publish over SSH(如果没有,就安装此插件)
点击add按钮,增加SSH Server
点击"Test Configuration" 显示 "Success",测试连接成功如果已经建立连接,直接使用即可。
2. 新建项目
回到Jenkins首页,点击“New Item”,开启一个新项目,选择“Freestyle project”。
3. 进入项目的"configure"页面
“Source Code Management“ 选项,选择“Git”,填入git仓库地址
单击Add,输入git的用户名和密码
在 Credentials下拉中选择刚才关联的账号
因为测试环境从develop分支发布,因此输入Brand Specifier
配置页面向下滚动,在“Build”一栏处,单击下拉菜单,选择“Excute Shell”。构建表示我们向生产服务器发布一个应用,简单来说,就是把原来需要手动操作和要输入的命令通过配置来自动执行。大致流程如下:
* Jenkins从Git获取最新代码
* 将代码打包通过SSH发送到远程服务器上
* 删除远程服务器上代码,解压缩新的代码,并重启服务
界面如图所示:
shell代码如下:
rm -f /var/jenkins_home/workspace/aiadmobi_operation_ui/aiadmobi_operation_ui.tar.gz #删除旧的压缩包
tar -zcvf /tmp/aiadmobi_ui.tar.gz -C /var/jenkins_home/workspace/aiadmobi_operation_ui/src/main/webapp/ui/dist . --exclude="*.git" #自动拉取的git的存储目录是workspace/aiadmobi_operation_ui
mv /tmp/aiadmobi_ui.tar.gz /var/jenkins_home/workspace/aiadmobi_ui/
jenkins会自动从git拉取代码,因此只需要获取代码以后的处理脚本即可
需要把代码包发送到远程服务器上,这时需要选择“Send files...”选项
选择我们创建的远程服务器,把刚刚打包的文件aiadmobi_ui.tar.gz填入,工作路径就是workspace下的项目文件夹
shell代码如下:
cd /home/noxer/software/tomcat/dsp/apache-tomcat-7.0.59/webapps/ROOT/ui/dist
rm -rf *
mv ../aiadmobi_operation_ui.tar.gz ./
tar -xvf aiadmobi_operation_ui.tar.gz ./
rm -rf aiadmobi_operation_ui.tar.gz
cd /home/noxer/software/tomcat/dsp/apache-tomcat-7.0.59/work/
rm -rf *
cd /home/noxer/software/tomcat/dsp/apache-tomcat-7.0.59/bin/
sh shutdown.sh #重启tomcat服务
sh startup.sh
4. 进行构建
配置完毕后,点击“Build Now”进行构建
至此就完成了简单的发布到测试环境的自动构建