playbook

时间:2023-03-09 02:05:03
playbook
 1 ---
 - hosts: web-server  3   remote_user: root
   tasks:
    - name: stop logstash
      shell: PID=` $PID && echo "rm ok";fi
    - name: rm old logstash
      shell: rm -rf /data1/elk/logstash*
    - name: cp new logstash
      copy: src=/home/dev/playbook/conf.zip  dest=/data1/elk/conf.zip
    - name: unzip
      shell: /usr/bin//
    - name: cp new logstash
      copy: src=/home/dev/playbook/conf.zip  dest=/data1/elk/conf.zip
    - name: unzip
      shell: /usr/bin//

playbook

1、配置yml文件

playbook

playbook

2、其中roles内目录名一定要与上面SC_Fabu.yml里写的完全一致,且下面必须要有tasks目录,tasks内一定要有main.yml

playbook

3、配置main.yml

- name: stop nginx
shell: systemctl stop nginx
- name: stop tomcat
shell: systemctl stop {{tomcat}}
- name: copy old file
shell: cp -r /data1/application/{{pro_name}}/{{tomcat}}/webapps /data1/bak/{{pro_name}}/webappsBak-$(date +%F-%H-%M-%S)
- name: rm old file
file: path=/data1/application/{{pro_name}}/{{tomcat}}/webapps/ROOT* state=absent
- name: copy new file
copy: src=/data1/jenkins-data/userContent/SC/{{pro_name}}/ROOT.war dest=/data1/application/{{pro_name}}/{{tomcat}}/webapps/ROOT.war
- name: start tomcat
shell: systemctl start {{tomcat}}
- name: sleep
shell: sleep 30
- name: chmod
file: path=/data1/application/{{pro_name}}/{{tomcat}}/webapps/ mode=755 recurse=yes
- name: test get
get_url: url=http://{{host}}:{{http_port}}/back/heartBeat dest=/tmp
- name: start nginx
shell: systemctl start nginx

4、配置jenkins

playbook

5、发布测试

playbook

playbook

查看playbook执行过程 可以使用-v

ansible-playbook -v  ZSC_Fabu.yml --extra-vars "host=10.253.1.1 tomcat=tomcat-3  pro_name=server   http_port=8083"

yaml 语法检测

ansible-playbook ZSC_Fabu.yml  --syntax --check