diff --git a/host_vars/webserver b/host_vars/webserver index 6374154499347611145b6265fedeffa24cbbd349..0e1265fc07841299bff720b37b62592eb0ef842f 100644 --- a/host_vars/webserver +++ b/host_vars/webserver @@ -79,6 +79,8 @@ alert: - { name: "dokuwiki_app_1" } - { name: "coturn_coturn_1" } - { name: "gitlab_app_1" } + - { name: "gitlab_dind_1" } + - { name: "gitlab_runner_1" } - { name: "hackmd_app_1" } - { name: "hackmd_db_1" } - { name: "icinga_app_1" } diff --git a/webserver/docker_gitlab/tasks/main.yml b/webserver/docker_gitlab/tasks/main.yml index 4cb3d95bf447c41f32147231d9423d32d5c09bb9..5091020b76bad47f8219002978a4cb03496143f6 100644 --- a/webserver/docker_gitlab/tasks/main.yml +++ b/webserver/docker_gitlab/tasks/main.yml @@ -4,6 +4,7 @@ with_items: - { path: /srv/shared/noreply_email_pass, length: -1 } - { path: /srv/ldap/secret/ldap_readonly_pass, length: -1 } + - { path: /srv/gitlab/runner_registration_token, length: -1 } # Benötigte Verzeichnisstrukturen erstellen @@ -18,6 +19,7 @@ - "/srv/gitlab/conf/" - "/srv/gitlab/data/" - "/srv/gitlab/log" + - "/srv/gitlab/runner" # Konfigurationsdateien erstellen diff --git a/webserver/docker_gitlab/templates/docker-compose.yml b/webserver/docker_gitlab/templates/docker-compose.yml index c4e53cb569f0c158c6d4a82695bc2cf49e521859..d0509756431961df6fcd76cf9e9040442654bc22 100644 --- a/webserver/docker_gitlab/templates/docker-compose.yml +++ b/webserver/docker_gitlab/templates/docker-compose.yml @@ -29,6 +29,65 @@ services: - default - web + + # Docker in Docker for Gitlab-Runner execution + # see https://forum.gitlab.com/t/example-gitlab-runner-docker-compose-configuration/67344 + + dind: + + image: docker:20-dind + restart: always + privileged: true + environment: + DOCKER_TLS_CERTDIR: "" + command: + - --storage-driver=overlay2 + networks: + - default + + + runner: + + restart: always + image: registry.gitlab.com/gitlab-org/gitlab-runner:alpine + depends_on: + - dind + - app + environment: + - DOCKER_HOST=tcp://dind:2375 + volumes: + - "/srv/gitlab/runner:/etc/gitlab-runner:z" + networks: + - default + + + # Runner Registration + # Excecute once when Gitlab is running + + # register-runner: + + # restart: 'no' + # image: registry.gitlab.com/gitlab-org/gitlab-runner:alpine + # depends_on: + # - dind + # - app + # environment: + # - CI_SERVER_URL=https://{{ domain }} + # - REGISTRATION_TOKEN={{ runner_registration_token }} + # command: + # - register + # - --non-interactive + # - --locked=false + # - --name=warpzone-webserver + # - --executor=docker + # - --docker-image=docker:20-dind + # - --docker-volumes=/var/run/docker.sock:/var/run/docker.sock + # volumes: + # - "/srv/gitlab/runner:/etc/gitlab-runner:z" + # networks: + # - default + + networks: web: external: true