- 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: Check for docker-compose.yml ansible.builtin.file: path: '{{ project_dir }}/docker-compose.yml' state: file register: docker_compose_check ignore_errors: true - name: Run make become: true community.general.make: chdir: '{{ project_dir }}' when: makefile_check is succeeded - 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