欢迎来到DIVCSS5查找CSS资料与学习DIV CSS布局技术!
利用Jenkins可以自动打包接口代码生成jar包推送到目标服务器,然后通过服务器supervisor进行管理启动,自动拉起
 
1、设置发版操作页,选择deploy发版或者rollback回滚
 
2、设置仓库地址和分支
 
3、设置环境变量方便下面脚本引用
 
 4、执行shell构建,包含mvn打包,和备份jar包方便回滚
 
case ${deploy_env} in
 
deploy)
 
echo -e "\033[34mAction:${deploy_env}\033[0m"
 
echo -e "\033[34m开始进行maven打包:\033[0m"
 
        mvn -Dmaven.test.skip=true clean package
 
result=$?
 
[ ${result} -eq 0 ] && echo -e "\033[32mmaven打包成功。\033[0m" || {
 
echo -e "\033[31mmaven打包失败。\033[0m"
 
exit ${result}
 
}
 
;;
 
rollback)
 
[ ${version} -eq 0 ] && {
 
        echo -e "\033[31m版本号非0。\033[0m"
 
            exit 1
 
            } || echo -e "\033[34mAction:${deploy_env}\033[0m"
 
echo -e "\033[34mRollback version:${version}\033[0m"
 
rm -rf target
 
cp -Rv ${JENKINS_HOME}/jobs/${JOB_NAME}/builds/${version}/archive/target .
 
[ $? -eq 0 ] && echo -e "\033[32m指定版本号${version}的target目录复制到当前部署目录成功。\033[0m" || {
 
echo -e "\033[31m指定版本号${version}的target目录复制到当前部署目录失败。\033[0m"
 
exit 1
 
}
 
;;
 
*)
 
exit 1
 
;;
 
esac
 
 5、首先在服务器安装supervisor
 
yum install python-setuptools
 
yum clean all
 
yum makecache
 
yum install python-pip
 
pip install supervisor
 
###创建supervisor配置文件目录/etc/supervisor/
 
mkdir -m 755 -p /etc/supervisor/
 
####创建主配文件supervisord.conf
 
echo_supervisord_conf > /etc/supervisor/supervisord.conf
 
#####把supervisors.conf中的最后两行修改一下:
 
;[include]
 
;files = relative/directory/*.ini         ;定义管理监控程序的配置文件的路径
 
修改为:
 
[include]
 
files = /etc/supervisor/conf.d/*.conf
 
#################
 
启动supervisord及supervisorctl一些常用命令:
 
supervisord -c /etc/supervisor/supervisord.conf
 
supervisorctl -c /etc/supervisor/supervisord.conf reload // 加载配置,重新启动supervisord
 
supervisorctl start all //启动所有进程
 
supervisorctl start redis //启动某一个进程
 
supervisorctl stop all //停止所有进程
 
supervisorctl stop redis //停止某一个进程
 
--------------------- 
 
 6、配置supervisor启动文件
 
注:/App/java_app/下面会统一放我们项目目录,启动用户可以自定义root也可以
 
cd /etc/supervisor进去supervisor目录下创建项目启动文件
 
vim cityhouse.ini
 
创建完一定要记得update一下,supervisor update cityhouse
 
[program:cityhouse]
 
;启动用户
 
user=work
 
;程序启动命令
 
command=/usr/local/jdk-1.8/bin/java -jar -Xmx512m -Xms512m -Dspring.profiles.active=test cityhouse.jar 
 
numprocs=1
 
;程序启动目录
 
directory=/App/java_app/cityhouse
 
;在supervisord启动时自启动
 
autostart=true
 
;程序异常退出后自动重启,可选值:[unexpected,true,false],默认为unexpected
 
autorestart=true
 
;启动10秒后没有异常退出,就表示进程正常启动了
 
startsecs=10
 
;启动失败自动重试次数
 
startretries=3
 
7、到Jenkins配置jar远程推送设置
 
source /etc/profile
 
IN_FACE=——/sbin/route -n |awk '{if($4——/UG/){print $8}}'|head -n 1——
 
LOCAL_IP=——/sbin/ip addr show "${IN_FACE}" | grep -w 'inet' | awk '{print $2}'——
 
#####jar包推送完重启项目
 
sudo supervisorctl restart  ${APP_NAME}
 
###利用url监控看下项目是否正常启动
 
timeout=180
 
echo -e "\033[34m测试程序部署是否正确\033[0m"
 
for (( i=1;i<=$timeout;i++ ))
 
do
 
    http_code=——curl -I -m 10 -o /dev/null -s -w %{http_code} ${MONITOR_URL}——
 
    if [ $http_code -eq 200 ];then
 
       echo -e "\033[32m${LOCAL_IP}节点程序${APP_NAME}项目发布成功\033[0m"
 
       exit 0
 
    fi
 
    sleep 1
 
done
 
echo -e ”\033[31m${LOCAL_IP}节点程序${APP_NAME}项目发布失败\033[0m"
 
exit 1
 
 8、设置项目发版完邮件通知

如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h65242.shtml