diff --git a/tasks/collect_config/commit/git.yml b/tasks/collect_config/commit/git.yml index a48a9d7bfa17e6f7e09fcd967a37095fb2c7d2e1..e7d473fe89098ad53f1ec3295fd3f1742886d2f1 100644 --- a/tasks/collect_config/commit/git.yml +++ b/tasks/collect_config/commit/git.yml @@ -1,5 +1,5 @@ --- -# file: roles/drupal/tasks/config_collect/commit/gitcomposer.yml +# file: roles/drupal/tasks/config_collect/commit/git.yml - block: diff --git a/tasks/collect_config/commit/gitextra.yml b/tasks/collect_config/commit/gitextra.yml new file mode 100644 index 0000000000000000000000000000000000000000..a06a15985e2af45bbb0c1b2dab7679c638798356 --- /dev/null +++ b/tasks/collect_config/commit/gitextra.yml @@ -0,0 +1,28 @@ +--- +# file: roles/drupal/tasks/config_collect/commit/gitextra.yml + +- block: + + - name: "Check Git Status" + shell: 'git status -s' + args: + chdir: '{{ webRoot }}/{{ collect_config_key }}' + become: false + register: git_status + + - block: + + - name: "Add and commit files" + shell: 'git {{ item }}' + args: + chdir: '{{ webRoot }}/{{ collect_config_key }}' + become: false + with_items: + - 'add config/*' + - 'config user.email "deployment@lakedrops.com"' + - 'config user.name "Auto Config Export"' + - 'commit -am "[ci skip] Config change on server"' + + when: git_status.stdout != '' + + tags: 'deploy' diff --git a/tasks/collect_config/finish/gitextra.yml b/tasks/collect_config/finish/gitextra.yml new file mode 100644 index 0000000000000000000000000000000000000000..39bc5981e55a295d1d717d06c5c7293be9ce66ae --- /dev/null +++ b/tasks/collect_config/finish/gitextra.yml @@ -0,0 +1,18 @@ +--- +# file: roles/drupal/tasks/config_collect/finish/gitextra.yml + +- block: + + - name: "Push" + shell: 'git push' + args: + chdir: '{{ webRoot }}/{{ collect_config_key }}' + become: false + when: git_status.stdout != '' + + - name: "Delete webroot working copy" + file: + path: '{{ webRoot }}' + state: absent + + tags: 'deploy' diff --git a/tasks/collect_config/main.yml b/tasks/collect_config/main.yml index 7920eaa596ec4c16524572d2cbaf74df872730f0..7aab5792d2944ff9c4a4aa6daa53605358d495c6 100644 --- a/tasks/collect_config/main.yml +++ b/tasks/collect_config/main.yml @@ -6,11 +6,11 @@ - set_fact: version='{{ lookup('pipe','date +%Y-%m-%d-%H-%M-%S') }}' - set_fact: - webRoot='/tmp/ansible-cae-{{ drupal.jail.name }}-{{ version }}-gitflow' + webRoot='/tmp/ansible-cae-{{ drupal.id }}-{{ version }}-gitflow' - set_fact: - pathConfig='{{ webRoot }}/config/default/sync' + pathConfig='{{ webRoot }}/{{ collect_config_key|default("config") }}/default/sync' pathExport='{{ export_path }}' - pathWorking='/tmp/ansible-cae-{{ drupal.jail.name }}-{{ version }}' + pathWorking='/tmp/ansible-cae-{{ drupal.id }}-{{ version }}' collectConfig={{ drupal.src.collectConfig|default([]) }} - name: "Check if export path exists" diff --git a/tasks/collect_config/prepare/gitextra.yml b/tasks/collect_config/prepare/gitextra.yml new file mode 100644 index 0000000000000000000000000000000000000000..775056c6bc6fc04aa634eed0447e0549928214bb --- /dev/null +++ b/tasks/collect_config/prepare/gitextra.yml @@ -0,0 +1,25 @@ +--- +# file: roles/drupal/tasks/config_collect/prepare/gitextra.yml + +- block: + + - name: "Clone Git Repository" + git: + accept_hostkey: yes + repo: '{{ drupal.src.git.extrarepos[item] }}' + dest: '{{ webRoot }}/{{ item }}' + force: yes + version: '{{ drupal.src.git.branch|default(omit) }}' + become: false + with_items: '{{ drupal.src.git.extrarepos|default([]) }}' + when: collect_config_key == item + + - name: "Create Git Hook for commit message" + copy: + content: | + #!/bin/sh + echo "[ci skip]" >>$1 + dest: '{{ webRoot }}/{{ collect_config_key }}/.git/hooks/prepare-commit-msg' + mode: '0777' + + tags: 'deploy'