first commit
This commit is contained in:
11
playbooks/apk.yml
Normal file
11
playbooks/apk.yml
Normal file
@@ -0,0 +1,11 @@
|
||||
---
|
||||
- hosts: "{{host}}"
|
||||
gather_facts: false
|
||||
tasks:
|
||||
- import_role:
|
||||
name: apk
|
||||
when: task_name is match('^(update|revert)_apk$')
|
||||
vars:
|
||||
task: "{{task_name}}"
|
||||
apk: "{{apk_name}}"
|
||||
|
23
playbooks/jar-revert.yml
Normal file
23
playbooks/jar-revert.yml
Normal file
@@ -0,0 +1,23 @@
|
||||
- hosts: "{{host}}"
|
||||
gather_facts: false
|
||||
vars:
|
||||
repo: "repo_name"
|
||||
remote_dir: "/path/to/deploy_dir"
|
||||
tasks:
|
||||
- import_role:
|
||||
name: jar
|
||||
vars:
|
||||
task: stop_service
|
||||
- name: clean {{repo}} logs
|
||||
shell: cd {{remote_dir}}/../logs/ && rm -rf {{repo}}
|
||||
- import_role:
|
||||
name: jar
|
||||
vars:
|
||||
task: revert_jar
|
||||
- import_role:
|
||||
name: jar
|
||||
vars:
|
||||
task: start_service
|
||||
- name: wait for {{repo}} to start completely
|
||||
shell: while sleep 2; do grep -m 1 '(JVM running for [0-9\.]\+)$' {{remote_dir}}/../logs/{{repo}}/{{repo}}.log && break; done
|
||||
|
44
playbooks/jar-update.yml
Normal file
44
playbooks/jar-update.yml
Normal file
@@ -0,0 +1,44 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
gather_facts: true
|
||||
vars:
|
||||
svn_url: "svn://svn_server/path/to/repo_name"
|
||||
f_make: true
|
||||
tasks:
|
||||
- import_role:
|
||||
name: jar
|
||||
vars:
|
||||
task: svn
|
||||
- block:
|
||||
- debug:
|
||||
msg: "Up_to_date, unnecessary to continue."
|
||||
- meta: end_play
|
||||
when: repo_exists.stdout != '' and update_result.stdout == '' and not f_make
|
||||
- import_role:
|
||||
name: jar
|
||||
vars:
|
||||
task: mvn
|
||||
|
||||
- hosts: "{{host}}"
|
||||
gather_facts: false
|
||||
vars:
|
||||
repo: "repo_name"
|
||||
remote_dir: "/path/to/deploy_dir"
|
||||
tasks:
|
||||
- import_role:
|
||||
name: jar
|
||||
vars:
|
||||
task: stop_service
|
||||
- name: clean {{repo}} logs
|
||||
shell: cd {{remote_dir}}/../logs/ && rm -rf {{repo}}
|
||||
- import_role:
|
||||
name: jar
|
||||
vars:
|
||||
task: update_jar
|
||||
- import_role:
|
||||
name: jar
|
||||
vars:
|
||||
task: start_service
|
||||
- name: wait for {{repo}} to start completely
|
||||
shell: while sleep 2; do grep -m 1 '(JVM running for [0-9\.]\+)$' {{remote_dir}}/../logs/{{repo}}/{{repo}}.log && break; done
|
||||
|
22
playbooks/python.yml
Normal file
22
playbooks/python.yml
Normal file
@@ -0,0 +1,22 @@
|
||||
---
|
||||
- hosts: "{{host}}"
|
||||
gather_facts: true
|
||||
vars:
|
||||
svn_url: "svn://xxxx/xxxx"
|
||||
remote_path: "/path/to/deploy_dir"
|
||||
tasks:
|
||||
- import_role:
|
||||
name: python
|
||||
vars:
|
||||
task: svn
|
||||
- import_role:
|
||||
name: python
|
||||
vars:
|
||||
task: stop_service
|
||||
- name: wait 4s before starting service
|
||||
shell: sleep 4
|
||||
- import_role:
|
||||
name: python
|
||||
vars:
|
||||
task: start_service
|
||||
|
42
playbooks/tomcat.yml
Normal file
42
playbooks/tomcat.yml
Normal file
@@ -0,0 +1,42 @@
|
||||
---
|
||||
- hosts: nginx1:nginx2
|
||||
gather_facts: false
|
||||
tasks:
|
||||
# 取消 nginx 对该 tomcat 服务器的反代
|
||||
- import_role:
|
||||
name: nginx
|
||||
vars:
|
||||
task: disable_ip
|
||||
ip: "{{hostvars[host]['ansible_ssh_host']}}"
|
||||
|
||||
- hosts: "{{host}}"
|
||||
gather_facts: false
|
||||
tasks:
|
||||
# 停止 tomcat 服务
|
||||
- import_role:
|
||||
name: tomcat
|
||||
vars:
|
||||
task: stop_service
|
||||
# 更新 webapp
|
||||
- import_role:
|
||||
name: tomcat
|
||||
when: task_name|lower != "restart_service"
|
||||
vars:
|
||||
task: "{{task_name}}"
|
||||
app: "{{app_name}}"
|
||||
# 启动 tomcat 服务
|
||||
- import_role:
|
||||
name: tomcat
|
||||
vars:
|
||||
task: start_service
|
||||
|
||||
- hosts: nginx1:nginx2
|
||||
gather_facts: false
|
||||
tasks:
|
||||
# 启用 nginx 对 tomcat 服务器的反代
|
||||
- import_role:
|
||||
name: nginx
|
||||
vars:
|
||||
task: enable_ip
|
||||
ip: "{{hostvars[host]['ansible_ssh_host']}}"
|
||||
|
18
playbooks/web-revert.yml
Normal file
18
playbooks/web-revert.yml
Normal file
@@ -0,0 +1,18 @@
|
||||
- hosts: "{{host}}"
|
||||
gather_facts: false
|
||||
vars:
|
||||
repo: "repo_name"
|
||||
remote_dir: "/path/to/deploy_dir"
|
||||
tasks:
|
||||
- name: check whether {{repo}}.bak exists
|
||||
shell: ls {{repo}}.bak || true
|
||||
args:
|
||||
chdir: "{{remote_dir}}"
|
||||
register: repo_bak_exists
|
||||
- name: restore old {{repo}}
|
||||
shell: cd {{remote_dir}} && rm -rf {{repo}} && mv {{repo}}.bak {{repo}}
|
||||
when: repo_bak_exists.stdout != ''
|
||||
- debug:
|
||||
msg: "Not found {{repo}}.bak, quit"
|
||||
when: repo_bak_exists.stdout == ''
|
||||
|
30
playbooks/web-update.yml
Normal file
30
playbooks/web-update.yml
Normal file
@@ -0,0 +1,30 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
gather_facts: true
|
||||
vars:
|
||||
repo: "repo_name"
|
||||
root_dir: "/path/to/svn_repo_dir"
|
||||
tasks:
|
||||
- name: update {{repo}} from svn
|
||||
shell: cd {{root_dir}}/{{repo}} && svn update {{repo}}.zip &>> {{ansible_env.SSH_TTY}}
|
||||
|
||||
- hosts: "{{host}}"
|
||||
gather_facts: false
|
||||
vars:
|
||||
repo: "repo_name"
|
||||
root_dir: "/path/to/svn_repo_dir"
|
||||
remote_dir: "/path/to/deploy_dir"
|
||||
tasks:
|
||||
- name: upload {{repo}}.zip
|
||||
copy: src={{root_dir}}/{{repo}}/{{repo}}.zip dest={{remote_dir}}/{{repo}}.zip
|
||||
- name: check whether {{repo}} exists
|
||||
shell: ls -d {{repo}} || true
|
||||
args:
|
||||
chdir: "{{remote_dir}}"
|
||||
register: repo_exists
|
||||
- name: create bakup
|
||||
shell: cd {{remote_dir}} && rm -rf {{repo}}.bak && mv {{repo}} {{repo}}.bak
|
||||
when: repo_exists.stdout != ''
|
||||
- name: create new {{repo}}
|
||||
shell: cd {{remote_dir}} && unzip {{repo}}.zip && rm -f {{repo}}.zip
|
||||
|
Reference in New Issue
Block a user