From 84c30c482bd130aed71950b46187609a247cb1a1 Mon Sep 17 00:00:00 2001 From: Julien Palard Date: Mon, 16 Dec 2019 23:07:18 +0100 Subject: [PATCH] Put it in a block --- roles/pelican/tasks/main.yml | 52 +++++++++++++++++++++++++++++++-- roles/pelican/tasks/pelican.yml | 50 ------------------------------- roles/static/tasks/main.yml | 29 ++++++++++++++++-- roles/static/tasks/static.yml | 27 ----------------- 4 files changed, 77 insertions(+), 81 deletions(-) delete mode 100644 roles/pelican/tasks/pelican.yml delete mode 100644 roles/static/tasks/static.yml diff --git a/roles/pelican/tasks/main.yml b/roles/pelican/tasks/main.yml index abecc4f..3991fb7 100644 --- a/roles/pelican/tasks/main.yml +++ b/roles/pelican/tasks/main.yml @@ -1,4 +1,52 @@ --- -- include: pelican.yml - tags: pelican +- block: + - name: Install nginx and dependencies + apt: + name: [nginx, git] + + - name: Create user + user: + name: "{{ pelican_user }}" + shell: /bin/false + system: yes + home: "{{ pelican_home }}" + + - name: Clone repo + git: + repo: "{{ pelican_repo }}" + dest: "{{ pelican_home }}/repo" + register: clone_repo + + - name: pip install pelican markdown + pip: + name: [pelican, markdown] + virtualenv_command: /usr/bin/python3 -m venv + virtualenv: "{{ pelican_home }}/venv" + + - name: Ensure pelican can write in its output dir + file: + path: "{{ pelican_home }}/www/" + state: directory + owner: "{{ pelican_user }}" + mode: 0755 + + - name: Build pelican + when: clone_repo.changed + command: "{{ pelican_home }}/venv/bin/pelican -o {{ pelican_home }}/www/" + args: + chdir: "{{ pelican_home }}/repo/{{ pelican_path_in_repo }}" + become: true + become_method: su + become_user: "{{ pelican_user }}" + become_flags: "-s /bin/sh" + + - name: Configure nginx + template: + src: nginx-vhost + dest: "/etc/nginx/conf.d/{{ pelican_domain }}.conf" + owner: root + group: root + mode: 0644 + notify: reload nginx + tags: [pelican] diff --git a/roles/pelican/tasks/pelican.yml b/roles/pelican/tasks/pelican.yml deleted file mode 100644 index 5c5221b..0000000 --- a/roles/pelican/tasks/pelican.yml +++ /dev/null @@ -1,50 +0,0 @@ ---- - -- name: Install nginx and dependencies - apt: - name: [nginx, git] - -- name: Create user - user: - name: "{{ pelican_user }}" - shell: /bin/false - system: yes - home: "{{ pelican_home }}" - -- name: Clone repo - git: - repo: "{{ pelican_repo }}" - dest: "{{ pelican_home }}/repo" - register: clone_repo - -- name: pip install pelican markdown - pip: - name: [pelican, markdown] - virtualenv_command: /usr/bin/python3 -m venv - virtualenv: "{{ pelican_home }}/venv" - -- name: Ensure pelican can write in its output dir - file: - path: "{{ pelican_home }}/www/" - state: directory - owner: "{{ pelican_user }}" - mode: 0755 - -- name: Build pelican - when: clone_repo.changed - command: "{{ pelican_home }}/venv/bin/pelican -o {{ pelican_home }}/www/" - args: - chdir: "{{ pelican_home }}/repo/{{ pelican_path_in_repo }}" - become: true - become_method: su - become_user: "{{ pelican_user }}" - become_flags: "-s /bin/sh" - -- name: Configure nginx - template: - src: nginx-vhost - dest: "/etc/nginx/conf.d/{{ pelican_domain }}.conf" - owner: root - group: root - mode: 0644 - notify: reload nginx diff --git a/roles/static/tasks/main.yml b/roles/static/tasks/main.yml index ef74697..44002ac 100644 --- a/roles/static/tasks/main.yml +++ b/roles/static/tasks/main.yml @@ -1,4 +1,29 @@ --- -- include: static.yml - tags: static +- block: + - name: Install nginx and dependencies + apt: + name: [nginx, git] + + - name: Create user + user: + name: "{{ static_user }}" + shell: /bin/false + system: yes + home: "{{ static_home }}" + + - name: Clone repo + git: + repo: "{{ static_repo }}" + dest: "{{ static_home }}/www/" + register: clone_repo + + - name: Configure nginx + template: + src: nginx-vhost + dest: "/etc/nginx/conf.d/{{ static_domain }}.conf" + owner: root + group: root + mode: 0644 + notify: reload nginx + tags: [static] diff --git a/roles/static/tasks/static.yml b/roles/static/tasks/static.yml deleted file mode 100644 index 2f1d6bf..0000000 --- a/roles/static/tasks/static.yml +++ /dev/null @@ -1,27 +0,0 @@ ---- - -- name: Install nginx and dependencies - apt: - name: [nginx, git] - -- name: Create user - user: - name: "{{ static_user }}" - shell: /bin/false - system: yes - home: "{{ static_home }}" - -- name: Clone repo - git: - repo: "{{ static_repo }}" - dest: "{{ static_home }}/www/" - register: clone_repo - -- name: Configure nginx - template: - src: nginx-vhost - dest: "/etc/nginx/conf.d/{{ static_domain }}.conf" - owner: root - group: root - mode: 0644 - notify: reload nginx