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工具去实现。
你若觉得作者的文章写得不错,请奖励作者几锭银子,让作者感受到来自你满满的鼓励和继续创作的动力!我们支持原创!鼓励原创!
打赏之后,文章底部显示参与打赏者的记录,可以直接通过微信扫描打赏哟,直接按打赏根据提示操作。
自定义打赏金额,友情提示打赏金额不要超过50元哦,土豪可以随意哦,51CTO谢谢您对作者的支持!谢谢你的慷慨大方!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Docker虚拟化技术系列之-自动化部署管理
随着企业Docker容器越来越多,如果要靠手工去管理docker,肯定非常吃力,而且也不现实,这就需要我们把日常的操作变成自动化管理,通过脚本工具,将工作减轻到最小,解放运维人员,如下为企业Docker自动化部署脚本V1版本,如果需要更多其他的功能,可以自己定制和修改。 如下自动化管理脚本功能: 1)通过YUM自动安装Docker平台; 2)通过该脚本,可以自动配置桥接网络; 3)自动创建docker容器,基于centos操作系统; 4)自动收集创建好的Docker容器,集中管理; 5)通过PIPEWORK工具手动指定独立IP地址; 概要:该脚本能够自动安装并配置docker虚拟化及桥接网络,同时使用pipework这个软件来配置我们的容器IP,能够实现容器的一个简单的管理: #!/bin/bash #autoinstalldockerandCreateVM #byjfedu.netwugk2015-02-05 #DefinePATHVarablies ####################### IPADDR=`ifconfig|grep"Bcast"|awk'{print$2}'...
- 下一篇
python requests模块详解
requests是python的一个HTTP客户端库,跟urllib,urllib2类似,那为什么要用requests而不用urllib2呢?官方文档中是这样说明的:python的标准库urllib2提供了大部分需要的HTTP功能,但是API太逆天了,一个简单的功能就需要一大堆代码。我也看了下requests的文档,确实很简单,适合我这种懒人。下面就是一些简单指南。插播个好消息!刚看到requests有了中文翻译版,建议英文不好的看看,内容也比我的博客好多了,具体链接是:http://cn.python-requests.org/en/latest/(不过是v1.1.0版,另抱歉,之前贴错链接了)。1.安装安装很简单,我是win系统,就在这里下载了安装包(网页中downloadthezipball处链接),然后$pythonsetup.pyinstall就装好了。当然,有easy_install或pip的朋友可以直接使用:easy_installrequests或者pipinstallrequests来安装。至于linux用户,这个页面还有其他安装方法。 注: 如果是lin...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2全家桶,快速入门学习开发网站教程
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- 2048小游戏-低调大师作品
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS关闭SELinux安全模块