jar包,docker一键式部署sh脚本

jar包运行

sh脚本

# 停止老进程
pid=`ps -ef | grep ldhb-manager.jar | grep -v grep | awk '{print $2}'`

if [[ -z "${pid}" ]]
then
        echo application is alreadly stop
else
        echo kill ${pid}
        kill -9 ${pid}
fi

# 拉取最新代码
cd /opt/product/code/ldhb
git checkout dev
git pull

# maven打包
mvn clean
mvn package -Dfile.encoding=UTF-8 -Dmaven.test.skip=true

# jar包备份
DATE=$(/bin/date +%Y%m%d%H%M%S)
cp /opt/webapps/ldhb/soft/ldhb-manager.jar /opt/webapps/ldhb/bak/${DATE}_ldhb-manager.jar
cp /opt/product/code/ldhb/ldhb-manager/target/ldhb-manager.jar /opt/webapps/ldhb/soft/ldhb-manager.jar


cd /opt/webapps/ldhb/soft

#start application
echo application deploy compelete!please exit!
echo application deploy compelete!please exit!
echo application deploy compelete!please exit!

# 运行
nohup java -jar -Dspring.profiles.active=dev ldhb-manager.jar &

docker运行

Dockfile
FROM java:8
CMD ["--server.port=8081"]
COPY ldhb-manager.jar /ldhb-manager.jar
EXPOSE 8081
ENTRYPOINT ["java", "-jar", "-Dspring.profiles.active=dev", "ldhb-manager.jar"]
sh脚本
# 停止老进程
pid=`ps -ef | grep ldhb-manager.jar | grep -v grep | awk '{print $2}'`

if [[ -z "${pid}" ]]
then
        echo application is alreadly stop
else
        echo kill ${pid}
        kill -9 ${pid}
fi

cd /opt/product/code/ldhb
git checkout dev
git pull

# maven打包
mvn clean
mvn package -Dfile.encoding=UTF-8 -Dmaven.test.skip=true

# 备份
DATE=$(/bin/date +%Y%m%d%H%M%S)
cp /docker-project/ldhb-manager/ldhb-manager.jar /docker-project/ldhb-manager/bak/${DATE}_ldhb-manager.jar

# copy jar包
cp /opt/product/code/ldhb/ldhb-manager/target/ldhb-manager.jar /docker-project/ldhb-manager/ldhb-manager.jar

# copy Dockerfile
cp /opt/product/code/ldhb/ldhb-manager/Dockerfile /docker-project/ldhb-manager/Dockerfile

# 删除旧容器和镜像
docker rm ldhb-manager-01
docker rmi ldhb-manager

# docker 镜像构建
cd /docker-project/ldhb-manager/
docker build -t ldhb-manager .

# 构建容器并启动
docker run -d -p 8081:8081 --name ldhb-manager-01 ldhb-manager
posted @   jpy  阅读(280)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示