57 lines
1.8 KiB
Bash
57 lines
1.8 KiB
Bash
|
|
#!/bin/bash
|
||
|
|
|
||
|
|
REMOTE_SERVER="idata@172.16.20.1"
|
||
|
|
REMOTE_PATH="~/cyw/y4"
|
||
|
|
DOCKER_CONTAINER_NAME="generator_data"
|
||
|
|
|
||
|
|
export JAVA_HOME=/data/jenkins/jdk-11.0.23
|
||
|
|
export MAVEN_HOME=/data/jenkins/apache-maven-3.9.9
|
||
|
|
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
|
||
|
|
|
||
|
|
java -version
|
||
|
|
mvn -version
|
||
|
|
|
||
|
|
# 设置脚本执行时的错误处理模式,一旦发生错误立即退出
|
||
|
|
set -e
|
||
|
|
cd /var/jenkins_home/workspace/y-server-tools && mvn clean package -DskipTests
|
||
|
|
|
||
|
|
# 检查 Maven 构建是否成功
|
||
|
|
if [ $? -ne 0 ]; then
|
||
|
|
echo "Maven 构建失败,退出脚本执行。"
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
scp /var/jenkins_home/workspace/y-server-tools/target/y-server-tools-1.0.0.jar $REMOTE_SERVER:$REMOTE_PATH
|
||
|
|
scp /var/jenkins_home/workspace/y-server-tools/build/generator_data.sh $REMOTE_SERVER:$REMOTE_PATH
|
||
|
|
|
||
|
|
# 登录远程服务器并执行后续操作
|
||
|
|
ssh $REMOTE_SERVER << EOF
|
||
|
|
echo "停止容器..............."
|
||
|
|
docker stop $DOCKER_CONTAINER_NAME
|
||
|
|
|
||
|
|
echo "复制jar包到容器中..............."
|
||
|
|
docker cp $REMOTE_PATH/y-server-tools-1.0.0.jar $DOCKER_CONTAINER_NAME:/app/app.jar
|
||
|
|
docker cp $REMOTE_PATH/generator_data.sh $DOCKER_CONTAINER_NAME:/app/generator_data.sh
|
||
|
|
|
||
|
|
echo "重启容器................."
|
||
|
|
docker restart $DOCKER_CONTAINER_NAME
|
||
|
|
|
||
|
|
# 等待一段时间以确保容器有足够的时间启动
|
||
|
|
sleep 15
|
||
|
|
|
||
|
|
echo "检查容器状态................."
|
||
|
|
container_status=$(docker inspect --format='{{.State.Status}}' $DOCKER_CONTAINER_NAME)
|
||
|
|
|
||
|
|
# 输出容器状态
|
||
|
|
echo "容器状态: $container_status"
|
||
|
|
|
||
|
|
# 判断容器状态是否为running
|
||
|
|
if [ "$container_status" = "running" ]; then
|
||
|
|
echo "容器重启成功,状态为运行中。"
|
||
|
|
else
|
||
|
|
echo "容器重启失败或未处于运行状态。"
|
||
|
|
fi
|
||
|
|
exit
|
||
|
|
echo "重启完毕...."
|
||
|
|
EOF
|
||
|
|
exit
|