first commit
This commit is contained in:
10
roles/jar/defaults/main.yml
Normal file
10
roles/jar/defaults/main.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
root_dir: "/home/repos"
|
||||
svn_opt: "--username xxxx --password xxxx --non-interactive"
|
||||
target_dir: "{{root_dir}}/{{repo}}/target"
|
||||
svn_url: "svn://xxx.xxx.xxx.xxx/xx/xx"
|
||||
svn_opt: ""
|
||||
repo: "{{svn_url|basename}}"
|
||||
remote_dir: "/path/to/deploy/remote"
|
||||
f_make: false
|
||||
|
3
roles/jar/tasks/main.yml
Normal file
3
roles/jar/tasks/main.yml
Normal file
@@ -0,0 +1,3 @@
|
||||
---
|
||||
- import_tasks: "{{task|lower}}.yml"
|
||||
|
4
roles/jar/tasks/mvn.yml
Normal file
4
roles/jar/tasks/mvn.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
- name: build with mvn
|
||||
shell: cd {{root_dir}}/{{repo}} && mvn clean package &>> {{ansible_env.SSH_TTY}}
|
||||
|
9
roles/jar/tasks/revert_jar.yml
Normal file
9
roles/jar/tasks/revert_jar.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
- name: check whether {{repo}}.jar.bak exists
|
||||
shell: cd {{remote_dir}} && [ -f {{repo}}.jar.bak ]
|
||||
ignore_errors: true
|
||||
register: result
|
||||
- name: revert {{repo}}.jar.bak
|
||||
when: result is succeeded
|
||||
shell: cd {{remote_dir}} && rm -f {{repo}}.jar && mv {{repo}}.jar.bak {{repo}}.jar
|
||||
|
6
roles/jar/tasks/start_service.yml
Normal file
6
roles/jar/tasks/start_service.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
- name: start {{repo}}
|
||||
service: name={{repo}} state=started
|
||||
#- name: wait for {{repo}} to start completely
|
||||
#shell: while sleep 2; do grep -m 1 '(JVM running for [0-9\.]\+)$' {{remote_dir}}/../logs/{{repo}}.log && break; done
|
||||
|
8
roles/jar/tasks/stop_service.yml
Normal file
8
roles/jar/tasks/stop_service.yml
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
- name: wait 2s to free connections
|
||||
shell: sleep 2
|
||||
- name: stop {{repo}}
|
||||
service: name={{repo}} state=stopped
|
||||
#- name: clean {{repo}} logs
|
||||
#shell: cd {{remote_dir}}/../logs/{{repo}} && rm -f *
|
||||
|
16
roles/jar/tasks/svn.yml
Normal file
16
roles/jar/tasks/svn.yml
Normal file
@@ -0,0 +1,16 @@
|
||||
---
|
||||
- name: check whether {{repo}} exists
|
||||
shell: ls {{repo}}/.svn || true
|
||||
args:
|
||||
chdir: "{{root_dir}}"
|
||||
register: repo_exists
|
||||
|
||||
- name: checkout {{repo}} from svn
|
||||
shell: cd {{root_dir}} && rm -rf {{repo}} && svn checkout {{svn_opt}} {{svn_url}} {{repo}} &>> {{ansible_env.SSH_TTY}}
|
||||
when: repo_exists.stdout == ''
|
||||
|
||||
- name: update {{repo}} from svn
|
||||
shell: cd {{root_dir}}/{{repo}} && svn update {{svn_opt}} &>> {{ansible_env.SSH_TTY}}
|
||||
register: update_result
|
||||
when: repo_exists.stdout != ''
|
||||
|
18
roles/jar/tasks/update_jar.yml
Normal file
18
roles/jar/tasks/update_jar.yml
Normal file
@@ -0,0 +1,18 @@
|
||||
---
|
||||
- name: upload {{repo}}.jar
|
||||
copy: src={{target_dir}}/{{repo}}.jar dest={{remote_dir}}/{{repo}}.jar.new
|
||||
|
||||
- name: remove old {{repo}}.jar.bak
|
||||
shell: cd {{remote_dir}} && rm -f {{repo}}.jar.bak
|
||||
|
||||
- name: check whether {{repo}}.jar exists
|
||||
shell: cd {{remote_dir}} && ls {{repo}}.jar || true
|
||||
register: jar_exists
|
||||
|
||||
- name: create current {{repo}}.jar.bak
|
||||
shell: cd {{remote_dir}} && mv {{repo}}.jar {{repo}}.jar.bak
|
||||
when: jar_exists.stdout != ''
|
||||
|
||||
- name: create new {{repo}}.jar
|
||||
shell: cd {{remote_dir}} && mv {{repo}}.jar.new {{repo}}.jar
|
||||
|
Reference in New Issue
Block a user