From cc9a7f5cf0275c75b081f24ac24d1dbd332e24ea Mon Sep 17 00:00:00 2001 From: jurgenhaas <juergen@paragon-es.de> Date: Fri, 18 Mar 2016 14:28:03 +0100 Subject: [PATCH] Set permissions on Drupal files and provide update script --- tasks/install.gitscript.yml | 2 +- tasks/install.yml | 4 ++++ tasks/users.drush.yml | 4 ++++ tasks/users.gitscript.yml | 28 ++++++++++++++++++++++++++++ tasks/users.none.yml | 4 ++++ tasks/users.svn.yml | 4 ++++ templates/scripts/update/gitscript | 11 +++++++++++ 7 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 tasks/users.drush.yml create mode 100644 tasks/users.gitscript.yml create mode 100644 tasks/users.none.yml create mode 100644 tasks/users.svn.yml create mode 100644 templates/scripts/update/gitscript diff --git a/tasks/install.gitscript.yml b/tasks/install.gitscript.yml index 9431bda..5f30c8e 100644 --- a/tasks/install.gitscript.yml +++ b/tasks/install.gitscript.yml @@ -25,7 +25,7 @@ dest: '{{ webRoot }}{{ drupal.src.git.target2 }}' force: yes version: '{{ drupal.src.git.branch|default(omit) }}' - when: drupal.src.git.target is defined + when: drupal.src.git.target2 is defined - name: "Run Script" shell: '{{ webRoot }}{{ drupal.src.git.target }}{{ drupal.src.script }}' diff --git a/tasks/install.yml b/tasks/install.yml index d4830bb..4eba863 100644 --- a/tasks/install.yml +++ b/tasks/install.yml @@ -47,6 +47,10 @@ - include: install.{{ installSource.mode|default("none") }}.yml when: drupal_install_drupal and drupal_available is defined and drupal_available.stdout != '{{ drupalRoot }}/index.php' +- include: users.{{ installSource.mode|default("none") }}.yml + when: drupal_install_drupal and drupal.src.name is defined + tags: 'SetPermissions' + - name: "Configuration file" template: src='{{ item.src }}' diff --git a/tasks/users.drush.yml b/tasks/users.drush.yml new file mode 100644 index 0000000..1d6a612 --- /dev/null +++ b/tasks/users.drush.yml @@ -0,0 +1,4 @@ +--- +# file: roles/drupal/tasks/users.drush.yml + +- set_fact: dummy=yes diff --git a/tasks/users.gitscript.yml b/tasks/users.gitscript.yml new file mode 100644 index 0000000..77942cd --- /dev/null +++ b/tasks/users.gitscript.yml @@ -0,0 +1,28 @@ +--- +# file: roles/drupal/tasks/users.gitscript.yml + +- name: "Make sure the git group exists" + group: name='{{ drupal.src.name }}' + +- name: "Add users to git group" + user: + name='{{ item }}' + groups='{{ drupal.src.name }}' + append=yes + with_items: '{{ drupal.src.users|default([]) }}' + +- name: "File Modes and Ownership for Repository" + file: + path='{{ webRoot }}{{ drupal.src.git.target }}' + owner='root' + group='{{ drupal.src.name }}' + mode='ug+rw,o+r,o-w' + recurse=yes + +- name: "Create Update Script" + template: + src='scripts/update/gitscript' + dest='{{ webRoot }}/.update' + owner='root' + group='root' + mode='755' diff --git a/tasks/users.none.yml b/tasks/users.none.yml new file mode 100644 index 0000000..94fd01e --- /dev/null +++ b/tasks/users.none.yml @@ -0,0 +1,4 @@ +--- +# file: roles/drupal/tasks/users.none.yml + +- set_fact: dummy=yes diff --git a/tasks/users.svn.yml b/tasks/users.svn.yml new file mode 100644 index 0000000..6d231ae --- /dev/null +++ b/tasks/users.svn.yml @@ -0,0 +1,4 @@ +--- +# file: roles/drupal/tasks/users.svn.yml + +- set_fact: dummy=yes diff --git a/templates/scripts/update/gitscript b/templates/scripts/update/gitscript new file mode 100644 index 0000000..cfacdd3 --- /dev/null +++ b/templates/scripts/update/gitscript @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +{% set path=[webRoot, drupal.src.git.target2|default(drupal.src.git.target)]|join('') %} +cd {{ path }} + +chown -R {{ apacheUser }}:{{ apacheUser }} {{ path }} +chmod -R g+w {{ path }} +git fetch origin +git pull origin master +chown -R {{ apacheUser }}:{{ apacheUser }} {{ path }} +chmod -R ug+r,ug-w,o-w,o-r {{ path }} -- GitLab