diff options
Diffstat (limited to 'ansible/roles/trove-setup/tasks/releases.yml')
-rw-r--r-- | ansible/roles/trove-setup/tasks/releases.yml | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/ansible/roles/trove-setup/tasks/releases.yml b/ansible/roles/trove-setup/tasks/releases.yml new file mode 100644 index 0000000..bcb031e --- /dev/null +++ b/ansible/roles/trove-setup/tasks/releases.yml @@ -0,0 +1,30 @@ +# Depends on: +# - site-groups.yml +--- +- name: Create the releases repository + shell: | + su git -c 'ssh localhost create '{{ TROVE_ID|quote|quote|quote }}'/site/releases' + creates=/home/git/repos/{{ TROVE_ID|regex_replace('(\\W)', '\\\\\\1')}}/site/releases.git + +- name: Create temporary folder to copy templates + shell: su git -c 'mktemp -d' + register: releases_templates +- name: Create the files needed for the releases repository + template: src=/usr/share/trove-setup/releases-repo-README dest={{ releases_templates.stdout }}/releases-repo-README owner=git group=git mode=0644 + +- name: Create temporary folder to clone the releases repository + shell: su git -c 'mktemp -d' + register: releases_repository +- name: Configure the releases repository + shell: | + su git -c 'git clone ssh://localhost/'{{ TROVE_ID|quote|quote }}'/site/releases.git '{{ releases_repository.stdout|quote|quote }}'/releases' + su git -c 'cp '{{ releases_templates.stdout|quote|quote }}'/releases-repo-README '{{ releases_repository.stdout|quote|quote }}'/releases/README' + su git -c 'cd '{{ releases_repository.stdout|quote|quote }}'/releases; git add README; git commit -m "Add README"; git push origin master' + su -c "rm -Rf {{ releases_repository.stdout|quote|quote }}" + creates=/home/git/repos/{{ TROVE_ID|regex_replace('(\\W)', '\\\\\\1')}}/site/releases.git/refs/heads/master + +- name: Link the releases repository to enable the access throught browser + file: | + src=/home/git/repos/{{ TROVE_ID }}/site/releases.git/rsync + dest=/var/www/htdocs/releases state=link + force=yes |