y-server-tools/build/build.sh

57 lines
1.8 KiB
Bash
Raw Normal View History

2024-12-11 11:25:11 +08:00
#!/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