From 0048d6fc92adc1563c106aedf13d87bfdb1b67bb Mon Sep 17 00:00:00 2001 From: shmyga Date: Tue, 24 Apr 2018 16:14:24 +0300 Subject: [PATCH] [ansible] update roles --- ansible/ansible.cfg | 2 +- ansible/deploy.yml | 20 ++++++++++--------- ansible/group_vars/all.yml | 18 ++++++++++++++--- ansible/requirements.yml | 8 +++++--- ansible/roles/build/tasks/main.yml | 11 ++++++++++ ansible/roles/service/defaults/main.yml | 6 ++++++ .../service.yml => service/tasks/main.yml} | 1 + ansible/roles/service/tasks/restart.yml | 11 ++++++++++ .../{setup => service}/template/service.j2 | 0 ansible/roles/setup/defaults/main.yml | 1 - ansible/roles/setup/tasks/apt.yml | 11 ++-------- ansible/roles/setup/tasks/main.yml | 4 ---- ansible/roles/setup/tasks/npm.yml | 4 ---- ansible/roles/setup/vars/main.yml | 10 ---------- ansible/service.yml | 8 ++++++++ ansible/setup.yml | 15 +++++++++++++- ansible/vars/barin.yml | 4 ++++ 17 files changed, 89 insertions(+), 45 deletions(-) create mode 100644 ansible/roles/build/tasks/main.yml create mode 100644 ansible/roles/service/defaults/main.yml rename ansible/roles/{setup/tasks/service.yml => service/tasks/main.yml} (99%) create mode 100644 ansible/roles/service/tasks/restart.yml rename ansible/roles/{setup => service}/template/service.j2 (100%) delete mode 100644 ansible/roles/setup/defaults/main.yml delete mode 100644 ansible/roles/setup/tasks/npm.yml delete mode 100644 ansible/roles/setup/vars/main.yml create mode 100644 ansible/service.yml create mode 100644 ansible/vars/barin.yml diff --git a/ansible/ansible.cfg b/ansible/ansible.cfg index a0df426..587108b 100644 --- a/ansible/ansible.cfg +++ b/ansible/ansible.cfg @@ -1,7 +1,7 @@ [defaults] hash_behaviour = merge host_key_checking = False -callback_whitelist = profile_tasks +#callback_whitelist = profile_tasks display_skipped_hosts = False [ssh_connection] diff --git a/ansible/deploy.yml b/ansible/deploy.yml index b224a1d..ed386b8 100644 --- a/ansible/deploy.yml +++ b/ansible/deploy.yml @@ -1,12 +1,14 @@ +--- - hosts: all vars: - ansible_user: holop - deploy_project: tankz - deploy_repo_url: git@bitbucket.org:infernalgames/tankz.git - deploy_repo_version: ansible - deploy_npm: yes - deploy_config: yes - deploy_gulp: yes - deploy_service: yes + ansible_user: "{{ deploy_user }}" roles: - - ansible-deploy \ No newline at end of file + - ansible-deploy + - build + post_tasks: + - include_role: + name: ansible-deploy + tasks_from: complete.yml + - include_role: + name: service + tasks_from: restart.yml diff --git a/ansible/group_vars/all.yml b/ansible/group_vars/all.yml index 31caa88..aa5bb64 100644 --- a/ansible/group_vars/all.yml +++ b/ansible/group_vars/all.yml @@ -1,3 +1,15 @@ -project_name: "tankz" -project_smartname: "Tank'z" -project_dir: "/home/holop/{{ project_name }}" \ No newline at end of file +--- +project_name: tankz +project_user: holop + +deploy_user: "{{ project_user }}" +deploy_project: "{{ project_name }}" +deploy_repo_url: "git@bitbucket.org:infernalgames/{{ project_name }}.git" +deploy_repo_version: ansible +deploy_npm: yes + +service_name: "{{ project_name }}" +service_work_dir: "{{ deploy_current_dir }}/target" +service_command: "/usr/bin/neko {{ deploy_current_dir }}/target/{{ project_name }}.n {{ service_host }}" +service_user: www-data +service_control_user: "{{ project_user }}" diff --git a/ansible/requirements.yml b/ansible/requirements.yml index 526d146..41bc812 100644 --- a/ansible/requirements.yml +++ b/ansible/requirements.yml @@ -1,5 +1,7 @@ --- -- src: git@bitbucket.org:shmyga/ansible-deploy.git - name: ansible-deploy +- name: ansible-deploy + src: git@bitbucket.org:shmyga/ansible-deploy.git version: master - scm: git \ No newline at end of file + scm: git + +- name: geerlingguy.nodejs \ No newline at end of file diff --git a/ansible/roles/build/tasks/main.yml b/ansible/roles/build/tasks/main.yml new file mode 100644 index 0000000..1225248 --- /dev/null +++ b/ansible/roles/build/tasks/main.yml @@ -0,0 +1,11 @@ +--- +- name: "Copy config" + copy: + src: "{{ deploy_release_dir }}/config.{{ inventory_hostname }}.json" + dest: "{{ deploy_release_dir }}/config.json" + remote_src: true + +- name: "Gulp build" + command: "/usr/local/bin/gulp default" + args: + chdir: "{{ deploy_release_dir }}" diff --git a/ansible/roles/service/defaults/main.yml b/ansible/roles/service/defaults/main.yml new file mode 100644 index 0000000..838b6a9 --- /dev/null +++ b/ansible/roles/service/defaults/main.yml @@ -0,0 +1,6 @@ +service_name: null +service_description: "{{ service_name }} service" +service_work_dir: null +service_command: null +service_user: null +service_control_user: null \ No newline at end of file diff --git a/ansible/roles/setup/tasks/service.yml b/ansible/roles/service/tasks/main.yml similarity index 99% rename from ansible/roles/setup/tasks/service.yml rename to ansible/roles/service/tasks/main.yml index e32686f..5484aae 100644 --- a/ansible/roles/setup/tasks/service.yml +++ b/ansible/roles/service/tasks/main.yml @@ -1,3 +1,4 @@ +--- - name: "Install {{ service_name }} systemd unit file" template: src: "template/service.j2" diff --git a/ansible/roles/service/tasks/restart.yml b/ansible/roles/service/tasks/restart.yml new file mode 100644 index 0000000..3fc44e9 --- /dev/null +++ b/ansible/roles/service/tasks/restart.yml @@ -0,0 +1,11 @@ +--- +# - name: "Restart {{ service_name }} service" +# systemd: +# enabled: yes +# state: restarted +# name: "{{ service_name }}" + +- name: "Restart {{ service_name }} service" + command: "sudo /bin/systemctl restart {{ service_name }}" + args: + warn: no diff --git a/ansible/roles/setup/template/service.j2 b/ansible/roles/service/template/service.j2 similarity index 100% rename from ansible/roles/setup/template/service.j2 rename to ansible/roles/service/template/service.j2 diff --git a/ansible/roles/setup/defaults/main.yml b/ansible/roles/setup/defaults/main.yml deleted file mode 100644 index b1feafd..0000000 --- a/ansible/roles/setup/defaults/main.yml +++ /dev/null @@ -1 +0,0 @@ -service_host: localhost \ No newline at end of file diff --git a/ansible/roles/setup/tasks/apt.yml b/ansible/roles/setup/tasks/apt.yml index b54c6fb..f182bee 100644 --- a/ansible/roles/setup/tasks/apt.yml +++ b/ansible/roles/setup/tasks/apt.yml @@ -1,10 +1,3 @@ -- name: Install the package "Neko" +- name: "Install neko package" apt: - name: 'neko' - -- name: Install the package "Node" - apt: - name: '{{ item }}' - with_items: - - nodejs - - npm + name: neko diff --git a/ansible/roles/setup/tasks/main.yml b/ansible/roles/setup/tasks/main.yml index a4379bc..5ba5368 100644 --- a/ansible/roles/setup/tasks/main.yml +++ b/ansible/roles/setup/tasks/main.yml @@ -1,6 +1,2 @@ - import_tasks: apt.yml when: ansible_distribution|lower == 'ubuntu' - -- import_tasks: npm.yml - -- import_tasks: service.yml diff --git a/ansible/roles/setup/tasks/npm.yml b/ansible/roles/setup/tasks/npm.yml deleted file mode 100644 index 45f23b7..0000000 --- a/ansible/roles/setup/tasks/npm.yml +++ /dev/null @@ -1,4 +0,0 @@ -- name: Install "gulp-cli" node.js package globally. - npm: - name: gulp-cli - global: yes \ No newline at end of file diff --git a/ansible/roles/setup/vars/main.yml b/ansible/roles/setup/vars/main.yml deleted file mode 100644 index abe317c..0000000 --- a/ansible/roles/setup/vars/main.yml +++ /dev/null @@ -1,10 +0,0 @@ -ansible_become: yes -ansible_user: barin -ansible_become_pass: 1234!QAZ - -service_name: "{{ project_name }}" -service_description: "{{ project_smartname }} server" -service_work_dir: "{{ project_dir }}/current/target" -service_command: "/usr/bin/neko {{ project_dir }}/current/target/{{ project_name }}.n {{ service_host }}" -service_user: www-data -service_control_user: holop \ No newline at end of file diff --git a/ansible/service.yml b/ansible/service.yml new file mode 100644 index 0000000..f2742df --- /dev/null +++ b/ansible/service.yml @@ -0,0 +1,8 @@ +--- +- hosts: all + vars: + ansible_user: "{{ deploy_user }}" + tasks: + - include_role: + name: service + tasks_from: restart.yml diff --git a/ansible/setup.yml b/ansible/setup.yml index 6a3589a..eb633fd 100644 --- a/ansible/setup.yml +++ b/ansible/setup.yml @@ -1,3 +1,16 @@ -- hosts: all +--- +- hosts: + - all + pre_tasks: + - include_role: + name: ansible-deploy + tasks_from: facts.yml roles: + - geerlingguy.nodejs - setup + - service + vars: + nodejs_version: 9.x + nodejs_npm_global_packages: [gulp-cli] + vars_files: + - vars/barin.yml diff --git a/ansible/vars/barin.yml b/ansible/vars/barin.yml new file mode 100644 index 0000000..7f2633c --- /dev/null +++ b/ansible/vars/barin.yml @@ -0,0 +1,4 @@ +--- +ansible_user: barin +ansible_become_pass: 1234!QAZ +ansible_become: yes