From c43a9f65e080e75d9f4f4ffacc34dcf32e984c17 Mon Sep 17 00:00:00 2001 From: "tom.chivert" Date: Thu, 4 Dec 2025 14:53:58 +0100 Subject: [PATCH] start containers before pushing configurations when not using external volumes --- tasks/gitlab-runner.yml | 16 +++++++++++++++- tasks/gitlab.yml | 18 ++++++++++++++++-- tasks/traefik.yml | 19 ++++++++++++++++--- 3 files changed, 47 insertions(+), 6 deletions(-) diff --git a/tasks/gitlab-runner.yml b/tasks/gitlab-runner.yml index ad79f38..8d96ede 100644 --- a/tasks/gitlab-runner.yml +++ b/tasks/gitlab-runner.yml @@ -25,6 +25,21 @@ - gitlab-runner__etc_gitlab-runner tags: ['docker_gitlab-runner'] +- name: gitlab-runner | start service to create volumes + systemd: + name: docker-compose@gitlab-runner + state: started + when: not docker_services_external_volumes + tags: ['docker_gitlab-runner'] + +- name: gitlab-runner | wait for volumes to be created + wait_for: + path: /var/lib/docker/volumes/gitlab-runner__etc_gitlab-runner/_data + state: present + timeout: 20 + when: not docker_services_external_volumes + tags: ['docker_gitlab-runner'] + - name: gitlab-runner | configure config.toml copy: dest: '/var/lib/docker/volumes/gitlab-runner__etc_gitlab-runner/_data/config.toml' @@ -58,7 +73,6 @@ {% if gitlab_runner_extra_hosts is defined %} extra_hosts = [{% for host in gitlab_runner_extra_hosts %}"{{ host }}"{{ ", " if not loop.last else "" }}{% endfor %}] {% endif %} - when: docker_services_external_volumes notify: 'gitlab-runner-restart' tags: ['docker_gitlab-runner'] diff --git a/tasks/gitlab.yml b/tasks/gitlab.yml index b2215f5..beb7f08 100644 --- a/tasks/gitlab.yml +++ b/tasks/gitlab.yml @@ -32,12 +32,26 @@ register: 'register_docker_volume_gitlab_gitlab__run_secrets' tags: ['docker_gitlab'] +- name: gitlab | start service to create volumes + systemd: + name: docker-compose@gitlab + state: started + when: not docker_services_external_volumes + tags: ['docker_gitlab'] + +- name: gitlab | wait for volumes to be created + wait_for: + path: /var/lib/docker/volumes/gitlab__run_secrets/_data + state: present + timeout: 20 + when: not docker_services_external_volumes + tags: ['docker_gitlab'] + - name: 'gitlab | configure secret gitlab_root_password' copy: - dest: '{{ register_docker_volume_gitlab_gitlab__run_secrets.volume.Mountpoint }}/gitlab_root_password' + dest: '{{ register_docker_volume_gitlab_gitlab__run_secrets.volume.Mountpoint if docker_services_external_volumes else "/var/lib/docker/volumes/gitlab__run_secrets/_data" }}/gitlab_root_password' mode: '0600' content: '{{ gitlab_root_password }}' - when: docker_services_external_volumes ignore_errors: '{{ ansible_check_mode }}' tags: ['docker_gitlab'] diff --git a/tasks/traefik.yml b/tasks/traefik.yml index f87f537..6620cd1 100644 --- a/tasks/traefik.yml +++ b/tasks/traefik.yml @@ -29,6 +29,21 @@ register: register_docker_volume_traefik__etc_traefik tags: ['docker_traefik'] +- name: traefik | start service to create volumes + systemd: + name: docker-compose@traefik + state: started + when: not docker_services_external_volumes + tags: ['docker_traefik'] + +- name: traefik | wait for volumes to be created + wait_for: + path: /var/lib/docker/volumes/traefik__etc_traefik/_data + state: present + timeout: 20 + when: not docker_services_external_volumes + tags: ['docker_traefik'] + - name: traefik | copy configuration file template: src: config/traefik/traefik.yml.j2 @@ -36,7 +51,6 @@ owner: root group: root mode: 0644 - when: docker_services_external_volumes notify: traefik-restart tags: ['docker_traefik'] @@ -45,5 +59,4 @@ path: /var/lib/docker/volumes/traefik__etc_traefik/_data/dynamic state: directory mode: '0755' - when: docker_services_external_volumes - tags: ['docker_traefik'] \ No newline at end of file + tags: ['docker_traefik']