Jenkins 执行远程部署脚本(学习笔记二十)

简介: http://www.cnblogs.com/horizonli/p/5332551.html在远程主机上创建一个shell脚本放置在自定义路径中:这里我放置在/opt下面:取名叫auto_deploy.sh即:auto_deploy.sh在远程主机上什么位置,上图中的 Exec command 中就要写到哪个位置。

http://www.cnblogs.com/horizonli/p/5332551.html


在远程主机上创建一个shell脚本放置在自定义路径中:这里我放置在/opt下面:取名叫auto_deploy.sh

即:auto_deploy.sh在远程主机上什么位置,上图中的 Exec command 中就要写到哪个位置。

shell脚本怎么写可以自己定义:这里分享下自己写的脚本,以供参考:

#!/bin/bash

#Time

log_time=`date+[%Y-%m-%d]%H:%M:%S`

###manual_properties###

tomcat_basehome=/opt/tomcat6/apache-tomcat-6.0.45tomcat_port=9090shell_environment=/bin/bash

war_Dir=/opt/jenkins

war_Name=quick4j.war

###manual_properties###

#update server environmentecho"**********************************  ${log_time} *************************************"echo"updating server  environment start"export JAVA_HOME=/app/java/jdk1.8.0_11

export JRE_HOME=/app/java/jdk1.8.0_11/jre

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar/export CATALINA_2_HOME=/opt/tomcat6/apache-tomcat-6.0.45export CATALINA_2_BASE=/opt/tomcat6/apache-tomcat-6.0.45export TOMCAT_2_HOME=/opt/tomcat6/apache-tomcat-6.0.45sleep3echo"updating server  environment  end"#build check funcationecho"check tomcat status..."check_tomcat_status(){

      netstat -ant|grep${tomcat_port} > /dev/null

      t=$?if[ $t -eq0];thenecho"tomcat is running....port is ${tomcat_port}"echo"shutdown tomcat....."echo">>>>>>>shutdown tomcat begin<<<<<<<<"            ${shell_environment} ${tomcat_basehome}/bin/shutdown.shecho">>>>>>>shutdown tomcat end <<<<<<<<"sleep5elif[ $t -ne0];thenecho"tomcat is poweroff"              ${shell_environment} ${tomcat_basehome}/bin/shutdown.shsleep5fi}

#check tomcat status invoke functioncheck_tomcat_status

#transfer  application package

deploy_Loaction=${tomcat_basehome}/webapps/war_Dir_Data=`ls ${war_Dir}`echo"--------------  begin  transfer  war package to tomcat webapps -------------------"if[ -z $war_Dir ];thenecho"Folder ${war_Dir} is empty.please check war package in this folder!"    exit 1elseecho"Find ${war_Dir} exist war package ${war_Name}"    # echo"deleteing old  package ${war_Name} in ${war_Dir}"    # rm${war_Dir}/${war_Name}

    echo"deleteing old  package ${war_Name} in ${deploy_Loaction}"rm ${deploy_Loaction}${war_Name}

    echo"start  transfer ${war_Name} to ${deploy_Loaction}"cp${war_Dir}/${war_Name}  ${deploy_Loaction}

    sleep3fiecho"--------------  transfer  war package to tomcat webapps  end -------------------"#reboot tomcat echo" >>>>>>>  rebooting  tomcat begin <<<<<<<<"${shell_environment} ${tomcat_basehome}/bin/startup.shecho" >>>>>>>  rebooting  tomcat end <<<<<<<<"echo"the log you can read in canalina.out"echo"************************ deploy war package into container Successlly  **********************************"

目录
相关文章
|
5月前
|
jenkins 持续交付 开发工具
jenkins学习笔记之一:流水线基础语法
jenkins学习笔记之一:流水线基础语法
|
5月前
|
jenkins 持续交付
jenkins学习笔记之三:使用jenkins共享库实现日志格式化输出
jenkins学习笔记之三:使用jenkins共享库实现日志格式化输出
jenkins学习笔记之三:使用jenkins共享库实现日志格式化输出
|
5月前
|
jenkins 持续交付
jenkins学习笔记之六:共享库方式集成构建工具
jenkins学习笔记之六:共享库方式集成构建工具
|
5月前
|
Java jenkins Shell
jenkins学习笔记之五:Maven、Ant、Gradl、Node构建工具集成
jenkins学习笔记之五:Maven、Ant、Gradl、Node构建工具集成
|
5月前
|
JSON jenkins 持续交付
jenkins学习笔记之四:jenkins常用pipline DSL方法
jenkins学习笔记之四:jenkins常用pipline DSL方法
|
5月前
|
Kubernetes jenkins 持续交付
jenkins学习笔记之二十一:k8s部署jenkins及动态slave
jenkins学习笔记之二十一:k8s部署jenkins及动态slave
|
5月前
|
jenkins Java 持续交付
jenkins学习笔记之二:jenkins共享库(ShareLibrary)
jenkins学习笔记之二:jenkins共享库(ShareLibrary)
|
5月前
|
前端开发 jenkins 持续交付
jenkins学习笔记之二十:docker in docker运行pipeline
jenkins学习笔记之二十:docker in docker运行pipeline
|
5月前
|
jenkins Java 持续交付
jenkins学习笔记之十九:Docker安装jenkins master及动、静态配置slave
jenkins学习笔记之十九:Docker安装jenkins master及动、静态配置slave
|
5月前
|
jenkins 持续交付
jenkins学习笔记之十八:nexus制品获取及晋级
jenkins学习笔记之十八:nexus制品获取及晋级
下一篇
开通oss服务