jenkins ansible 实现自动化部署
我们在用jenkins 与tomcat热部署实现自动化的时候,经常会发现 tomcat报内存溢出,导致发布经常失败。
还有就是如果项目当中有socket 长连接应用的时候,也就只能手动停止tomcat,再启动。
所以,为了解决以上的问题。用jenkins+ansible 完美解决。
具体如下:(ansible,jenkins具体安装与配置需自己baidu一下,这里不多讲解)
1.创建ansible 脚本 vim automaticRelease.yml
- hosts: '{{hosts}}' //指定要发布的机器(也可以指定多台) tasks: - name: "stop tomcat" shell: "ps -ef |grep tomcat | grep -v grep |awk '{print $2}'|xargs kill -9" //杀掉tomcat - name: "clean the directory" command: rm -rf /data/tomcat/webapps/ //删除老版本的包 - name: "delivery the war to the remote_host" copy: src=/maven/root/.jenkins/jobs/项目名称/workspace/项目名称/target/xxx.war //cp 项目war包 dest=/usr/tomcat/webapps/ //cp 到tomcat的webapps目录 - name: "start the tomcat" shell: chdir=/data/tomcat/bin nohup ./catalina.sh start //启动tomcat
2. jenkins 配置:
ansible-playbook automaticRelease.yml --extra-vars "hosts=all" //hosts 为指定的要发布的tomcat机器.all表示集群所有机器
相关推荐
laisean 2020-09-27
onepiecedn 2020-10-29
guchengxinfen 2020-10-12
houdaiye 2020-09-23
逆时针 2020-08-19
pzczyy 2020-08-19
annan 2020-08-02
hpujsj 2020-07-26
annan 2020-07-18
逆时针 2020-06-21
annan 2020-06-20
逆时针 2020-06-14
逆时针 2020-06-14
awoyaoc 2020-06-12
逆时针 2020-06-09
piaotiejun 2020-06-07
awoyaoc 2020-06-07