码迷,mamicode.com
首页 > 其他好文 > 详细

Jenkins持续集成案例之-自动化部署

时间:2017-02-21 19:42:56      阅读:329      评论:0      收藏:0      [点我收藏+]

标签:持续集成   自动化部署   jenkins   

Jenkins是一个开源软件项目,目的就是提供了一个开放的软件平台,让我们实现软件集成变成可能,我们经常听到企业中讲CI、CD两个名词,这些都可以跟jenkins联系在一起,实现持续集成,持续部署及持续交付;

在企业中,Jenkins一般都是批量部署多台web服务、或者应用程序、多个网站,今天带大家来学习一下Jenkins批量构建同一网站-多台服务器的操作案例:

一、Jenkins后台配置

1)点击工程名称-配置-构建后操作-设置Jenkins编译打包完后,war包存放的位置,如下图:

技术分享

2)然后输入如下配置:**/target/*.war

技术分享

3)如上-构建触发器-一个构建步骤,选择Add-post-build step-Excuteshell

技术分享

4)然后把脚本内容写入即可

技术分享

5)代码如下:

rm -rf /root/.jenkins/workspace/jfedu/target/edu.war
cp/root/.jenkins/workspace/jfedu/target/edu.war /root/.jenkins/jobs/jfedu/builds/lastSuccessfulBuild/archive/target/
ssh  root@121.42.183.93  ‘bash -x -s‘ < /data/sh/auto_deploy.sh

二、Jenkins部署脚本

#!/bin/bash

#Auto deployTomcat for jenkins perf

#by authorwugk 2016-07-06

exportJAVA_HOME=/usr/java/jdk1.6.0_25

TOMCAT_PID=`/usr/sbin/lsof-n -P -t -i :10013`

TOMCAT_DIR="/usr/local/tomcat/"

FILES="jfedu.war"

DES_DIR="/export/data/tomcatRoot/ptest.jd.com/"

DES_URL="http://123.57.11.203:8080/job/Ptest_Online/lastSuccessfulBuild/target"

BAK_DIR="/export/backup/`date+%Y%m%d-%H%M`"

[ -n"$TOMCAT_PID" ] && kill -9 $TOMCAT_PID

cd $DES_DIR

rm -rf $FILES

mkdir -p $BAK_DIR;\cp-a $DES_DIR/* $BAK_DIR/

rm -rf$DES_DIR/*

wget$DES_URL/$FILES

/usr/java/jdk1.6.0_25/bin/jar -xvf  $FILES

####################

cd$TOMCAT_DIR;rm -rf work

/bin/sh$TOMCAT_DIR/bin/start.sh

sleep 10

tail -n 50 $TOMCAT_DIR/logs/catalina.out

提示:如果有多台,怎么去部署,可以发散思维哟!!!可以考虑结合底层saltstack、Ansible工具去实现。

技术分享

Jenkins持续集成案例之-自动化部署

标签:持续集成   自动化部署   jenkins   

原文地址:http://wgkgood.blog.51cto.com/1192594/1899910

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!