Jenkins插件:
部署工具:
Maven Integration
Publish Over SSH
其他工具:
SSH plugin
Deploy to container Plugin
Jenkins相关命令脚本:
Maven命令:
clean install -P
远程自动化部署Jar包,并启动
#!/bin/sh
export LANG="en_US.UTF-8"
time=$(date "+%Y-%m-%d-%H-%M-%S")
app_home=/home/XXX/app_root
app_folder_name=auto-deploy
app_name=XXX.jar
app_rename=XXX.jar
app_port=8080
app_env=prod
cd $app_home
# backup
mv $app_home/$app_folder_name/$app_rename $app_home/jenkins/bak/$time$app_rename
chmod 777 $app_home/jenkins/temp/target/$app_name
#move
mv $app_home/jenkins/temp/target/$app_name $app_home/$app_folder_name/$app_rename
#delete target temp folder
rm -rf $app_home/jenkins/temp/target
echo "Stopping " $app_name
pid=`ps -ef | grep ${app_rename} | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
echo "kill -9 的pid:" $pid
kill -9 $pid
fi
java -jar $app_home/$app_folder_name/$app_rename --server.port=$app_port --spring.profiles.active=$app_env > out.log &
if [ $? = 0 ];then
sleep 30
tail -n 50 out.log
fi
定时构建配置:
Example:
0 9,13,16,18 * * *
1 9,13,18 * * *

评论区