13719654321 发表于 2018-9-4 08:17:21

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/
  
sshroot@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谢谢您对作者的支持!谢谢你的慷慨大方!



页: [1]
查看完整版本: Jenkins持续集成案例之-自动化部署