diff options
Diffstat (limited to 'roles/my_workspace/tasks/project.yml')
-rw-r--r-- | roles/my_workspace/tasks/project.yml | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/roles/my_workspace/tasks/project.yml b/roles/my_workspace/tasks/project.yml new file mode 100644 index 0000000..ae139f5 --- /dev/null +++ b/roles/my_workspace/tasks/project.yml @@ -0,0 +1,70 @@ +- name: Set project URL + ansible.builtin.set_fact: + project_url: '{{ item.url | default(item) }}' + +- name: Set project name + ansible.builtin.set_fact: + project_name: "{{ item.name | default(project_url | urlsplit('path') | basename | regex_replace('\\.git$', '')) }}" + +- name: Set project directory + ansible.builtin.set_fact: + project_dir: '{{ workspace_dir }}/{{ project_name }}' + +- name: 'Update repository: {{ project_name }}' + ansible.builtin.git: + accept_hostkey: true + dest: '{{ project_dir }}' + repo: '{{ project_url }}' + +- name: Check for Makefile + ansible.builtin.file: + path: '{{ project_dir }}/Makefile' + state: file + register: makefile_check + ignore_errors: true + +- name: This project uses make + become: true + when: makefile_check is succeeded + block: + - name: Run make + ansible.builtin.command: make + args: + chdir: '{{ project_dir }}' + register: make_output + when: makefile_check is succeeded + + - name: Show make output + ansible.builtin.debug: + var: make_output + +- name: Check for docker-compose.yml + ansible.builtin.file: + path: '{{ project_dir }}/docker-compose.yml' + state: file + register: docker_compose_check + ignore_errors: true + +- name: This project uses docker-compose + become: true + when: makefile_check is not succeeded and docker_compose_check is succeeded + block: + - name: docker-compose pull + ansible.builtin.command: docker-compose pull + args: + chdir: '{{ project_dir }}' + + - name: docker-compose build + ansible.builtin.command: docker-compose build --force-rm --pull -q + args: + chdir: '{{ project_dir }}' + + - name: docker-compose up + ansible.builtin.command: docker-compose up --remove-orphans -d + args: + chdir: '{{ project_dir }}' + register: docker_compose_up + + - name: Show docker-compose up output + ansible.builtin.debug: + var: docker_compose_up |