本屌今天用jekins+shell搭建自动化部署,脚本在Linux下运行,一切正常,但是,如果用jekins调用脚本,Tomcat一直无法启动,跟踪发现Tomcat一闪就掉了,后经过不懈之努力,测试发现,当jekins中只有一个工程的时候,是正常的,但是有多个工程就无法启动,
后经过一系列百度加查资料发现,需要在脚本头部加上export BUILD_ID="xxxxxx"随便写,只要保证唯一就可,脚本正常执行,不知道原因,下面附带一份自动化脚本

自动化部署脚本

#!/bin/sh
# 脚本开始
echo "start shell"
# 初始化你的BUILD_ID
export BUILD_ID="you build_id"
# 初始化jdk
export JAVA_HOME=you jdk home
# 初始化maven
export MAVEN_HOME=you maven home
# 初始化CLASSPATH
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
# 初始化PATH
export PATH=$JAVA_HOME/bin:/usr/local/openssl/bin:/usr/local/nginx/sbin:$PATH:${MAVEN_HOME}/bin:
# 初始化Tomcat目录
SHELL_TOMCAT_HOME="you tomcat home"
# 初始化工程目录
WORK_HOME="you project home"
# 初始化编译之后的二进制所在目录
TARGET_HOME="you war home"
# 初始化war包名称,也就是maven打包之后的war名称
WAR_NAME="you war name"
# 进入工程目录
cd "$WORK_HOME"
# 更新工程
echo "UPDATE SVN"
# 顺序执行脚本命令
{ svn update;echo "SVN UPDATE SUCC"; } &&
{ cd "$SHELL_TOMCAT_HOME"/bin;pwd;./shutdown.sh; } &&
{ cd "$WORK_HOME";mvn clean package -Ptest;echo "MAVEN SUCCESS"; } &&
{ cd "$SHELL_TOMCAT_HOME"/webapps;rm -rf ROOT;pwd;ls; } &&
{ cd "$TARGET_HOME";unzip "$WAR_NAME" -d "$SHELL_TOMCAT_HOME"/webapps/ROOT;echo "UNZIP SUCC"; }
# 进入Tomcat/bin目录
cd "$SHELL_TOMCAT_HOME"/bin
# 启动Tomcat
./startup.sh
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐