jenkins基于ansible持续集成
2015-12-19 17:56
253 查看
开发团队在日常工作中,主要是围绕着需求、编码、代码提交、打 build、分配环境、安装 build、BVT(Build Verification Test)、发现 defect、修复并提交新代码,然后重复进行打 build 到 BVT 测试的工作,在这个过程中,大部分工作的串连还是需要人工进行操作,且软件开发周期比较漫长。
解决上述问题有多种,下面主要介绍jenkins基于ansible持续集成。1.安装python(一般linux带)
http://blog.csdn.net/pan_tian/article/details/7684409
2.安装ansible
yum install ansible
3.下载jenkins.war,并启动
http://jenkins-ci.org/
4.jenkins部署机器生产rsa公钥,放入到业务程序部署机
ssh-keygen -t rsa
5.在jenkins的post steps之后,配置Run only if build succeeds
#定义常量 WORKSPACE=`pwd` WAR_DIR=${WORKSPACE}/${PROJ_NAME}-web/target JETTY_DIR=/data/www/java/work/${PROJ_NAME}-jetty REMOTE_DEPLOY_DIR=${JETTY_DIR}/webapps INVENTORY_FILE=/tmp/${PROJ_NAME}-inventory-${JOB_NAME##*/} INVENTORY_TEMPLATE=/opt/jenkins/default_inventory_template cd $WAR_DIR #准备Inventory cat ${INVENTORY_TEMPLATE} > ${INVENTORY_FILE} echo ${DEPLOY_HOST} >> ${INVENTORY_FILE} #删除远程服务器部署文件 ansible -i ${INVENTORY_FILE} all -m raw -a "rm -rf ${REMOTE_DEPLOY_DIR}/${PROJ_NAME}-web.war" #COPY文件到远程服务器部署目录 ansible -i ${INVENTORY_FILE} all -m copy -a "src=${WAR_DIR}/${PROJ_NAME}-web.war dest=${REMOTE_DEPLOY_DIR}/" #重启jetty ansible -i ${INVENTORY_FILE} all -m shell -a "${JETTY_DIR}/bin/jetty.sh restart"
注意1:/opt/jenkins/default_inventory_template,模板内容如下
[deploy]
INVENTORY_FILE最终的样子是,如下,第二行的ip就是应用的部署机器
[deploy] 192.168.142.12
注意2:jenkins需要配置几个参数
PROJ_NAME: #项目的名字
DEPLOY_HOST: #业务应用部署的机器
相关文章推荐
- 关于Jenkins在Linux快速搭建持续集成环境
- jenkins------结合maven将svn项目自动部署到tomcat下
- jenkins------部署项目到jboss eap下
- 使用Jenkins实现Jetty热部署Maven程序(20s极速)
- Jmeter+Ant+Jenkins搭建持续集成的接口测试框架
- Jenkins实战演练之Windows服务器快速搭建
- Jenkins实战演练之Linux服务器快速搭建
- Jenkins实战演练之安全管理
- Jenkins实战演练之Windows系统节点管理
- Jenkins实战演练之Linux系统节点管理
- Jenkins实战演练之Windows节点任务配置
- Jenkins实战演练之Linux节点任务配置
- 简析Jenkins专有用户数据库加密算法
- 每日备份JENKINS_HOME至SVN
- 使用docker构建jenkins镜像并运行容器
- 使用jenkins进行git多分支项目打包时的一个小问题
- jenkins动态参数构建
- Jenkins环境搭建(Linux Master & Windows Slave)
- jenkins
- Jenkins