almaops.ct_gitlab_runner

almaops.ct_gitlab_runner

Diese Rolle installiert gitlab-runner in einem Docker-Container und registriert ihn in GitLab.

Rollenvariablen

ct_gitlab_runner_name: der Name, der auf der Runner-Seite zu sehen ist, standardmäßig "{{ inventory_hostname }}"

ct_gitlab_runner_ct_name: Container-Name, standardmäßig "gitlab-runner"; ändere ihn, wenn du mehrere Runner auf demselben Host ausführen möchtest.

ct_gitlab_runner_registration_token: Dieses Token wird zur Registrierung benötigt, es kann für spezifische Runner aus dem Projekt und für geteilte Runner aus dem Admin-Panel bezogen werden; obligatorischer Parameter, kein Standardwert.

ct_gitlab_runner_coordinator_url: Adresse deines GitLab, standardmäßig auf "https://gitlab.com/ci" eingestellt; ändere es, wenn du eine lokale GitLab-Installation hast.

ct_gitlab_runner_tags: Thema; Standard ist [].

ct_gitlab_runner_executor: Thema; Standard ist "docker", da dies der bequemste Weg ist; keine anderen Executor wurden getestet.

ct_gitlab_runner_parallel_builds_number: Standard ist "1".

ct_gitlab_runner_run_untagged: Bestimme, ob der Runner unmarkierte Jobs ausführen muss, standardmäßig "true".

ct_gitlab_runner_docker_image: Der Standard ist "alpine".

ct_gitlab_runner_path_srv_dir: Basisverzeichnis, um festzustellen, wo die Dienstkonfigurationen gespeichert werden; standardmäßig "/srv".

ct_gitlab_runner_path_cfg_dir: Endverzeichnis, wo die Dienstkonfigurationen gespeichert werden; standardmäßig "{{ ct_gitlab_runner_path_srv_dir }}/{{ ct_gitlab_runner_ct_name }}/config".

ct_gitlab_runner_path_cfg: Runner-Konfigurationsdatei, der Standard ist "{{ ct_gitlab_runner_path_cfg_dir }}/config.toml"; ändere dies nicht, es ist wirklich config.toml, ich schwöre.

ct_gitlab_runner_ct_image_tag: Runner-Version, d.h. das Image-Tag von gitlab-runner, standardmäßig "alpine".

ct_gitlab_runner_ct_image: Bild des gitlab-runner-Containers, Standard ist "gitlab/gitlab-runner:{{ ct_gitlab_runner_ct_image_tag }}"; ändere es nur, wenn du eine benutzerdefinierte Version des gitlab-runner-Containers haben möchtest.

ct_gitlab_runner_ct_restart_policy: Container-Neustartpolitik, Standard ist "always".

ct_gitlab_runner_ct_state: Container-Zustand nach der Bereitstellung, Standard ist "started".

ct_gitlab_runner_ct_restart: Ob wir den Container nach der Bereitstellung neu starten müssen, Standard ist "false".

ct_gitlab_runner_ct_pull: Ob wir versuchen müssen, das Image während der Bereitstellung zu ziehen, Standard ist "false".

ct_gitlab_runner_ct_recreate: Ob wir den Container neu erstellen müssen, Standard ist "false".

ct_gitlab_runner_cache_s3_enabled: Ob wir S3/Minio für Caches verwenden, Standard ist false.

ct_gitlab_runner_cache_s3_server_address: Thema, zwingend erforderlich, wenn S3 aktiviert ist, kein Standardwert.

ct_gitlab_runner_cache_s3_access_key: Thema, zwingend erforderlich, wenn S3 aktiviert ist, kein Standardwert.

ct_gitlab_runner_cache_s3_secret_key: Thema, zwingend erforderlich, wenn S3 aktiviert ist, kein Standardwert.

ct_gitlab_runner_force_reg: Ob wir diesen Runner erneut registrieren möchten; Standard ist false.

ct_gitlab_runner_docker_volumes: Zusätzliche Mounts für Container, die vom Docker-Executor ausgeführt werden; der Standard ist []; nützlich, wenn du docker.sock oder ein /cache-Volume bereitstellen möchtest.

ct_gitlab_runner_dind_enabled: Auf true setzen, wenn du möchtest, dass deine Docker-Container im privilegierten Modus ausgeführt werden; Standard ist false.

ct_gitlab_runner_ct_volumes: Standardmäßig wird nur ein Konfigurationsverzeichnis in den Runner-Container gemountet, d.h. [ "{{ ct_gitlab_runner_path_cfg_dir }}:/etc/gitlab-runner:rw" ].

ct_gitlab_runner_dond_enabled: Wenn auf true gesetzt (und das ist der Standard), geben wir auch /var/run/docker.sock an den Runner-Container weiter.

Es gibt noch einige weitere interessante Variablen. Schau dir diese an: defaults/main.yml.

Beispiel-Playbook

- hosts:
    - gitlab_runners
  become: true
  vars:
    # allgemeine Konfiguration
    ct_gitlab_runner_ct_image_tag: "v14.8.1"
    ct_gitlab_runner_cache_s3_enabled: true
    ct_gitlab_runner_cache_s3_server_address: "{{ minio_bind_ip }}:{{ minio_bind_port }}"
    ct_gitlab_runner_cache_s3_access_key: "{{ minio_access_key }}"
    ct_gitlab_runner_cache_s3_secret_key: "{{ minio_secret_key }}"
    ct_gitlab_runner_name: "{{ runner_name }}_{{ inventory_hostname }}"
    gitlab_runner_ct_name: "gitlab-runner_{{ runner_name }}"
    # Tokens
    main_registration_token: "<...>"
    proj_registration_token: "<...>"
  roles:
    - role: almaops.ct_gitlab_runner
      tags:
        - runner-tag-common
      vars:
        runner_name: "common"
        ct_gitlab_runner_registration_token: "{{ main_registration_token }}"
        ct_gitlab_runner_parallel_builds_number: "3"
        ct_gitlab_runner_tags:
          - common
    - role: almaops.ct_gitlab_runner
      tags:
        - runner-tag-proj
      vars:
        runner_name: "proj"
        ct_gitlab_runner_registration_token: "{{ proj_registration_token }}"
        ct_gitlab_runner_parallel_builds_number: "1"
        ct_gitlab_runner_run_untagged: "false"
        ct_gitlab_runner_tags:
          - proj

Lizenz

MIT

Autoreninformation

Dmitrii Kashin, freehck@freehck.com

Über das Projekt

deploy gitlab-runner in docker container and register it

Installieren
ansible-galaxy install almaops.ct_gitlab_runner
GitHub Repository
Lizenz
Unknown
Downloads
668
Besitzer
Premium IT Consulting