almaops.ct_gitlab_runner

almaops.ct_gitlab_runner

Ta rola wdraża gitlab-runner w kontenerze docker i rejestruje go w GitLabie.

Zmienne roli

ct_gitlab_runner_name: nazwa, która będzie widoczna na stronie runnerów, domyślnie "{{ inventory_hostname }}"

ct_gitlab_runner_ct_name: nazwa kontenera, domyślnie "gitlab-runner"; zmień ją, jeśli zamierzasz uruchomić wiele runnerów na tym samym hoście

ct_gitlab_runner_registration_token: ten token jest potrzebny do rejestracji, można go uzyskać z projektu dla konkretnych runnerów lub z panelu administracyjnego dla wspólnych runnerów; parametr obowiązkowy, brak domyślnej wartości

ct_gitlab_runner_coordinator_url: adres Twojego GitLaba, domyślnie skonfigurowany na "https://gitlab.com/ci"; zmień go, jeśli masz własną instalację GitLaba

ct_gitlab_runner_tags: tematy; domyślnie []

ct_gitlab_runner_executor: temat; domyślnie "docker", ponieważ jest to najwygodniejszy sposób; inne wykonawcy nie były testowane

ct_gitlab_runner_parallel_builds_number: domyślnie "1"

ct_gitlab_runner_run_untagged: określa, czy runner ma uruchamiać nieoznakowane zadania, domyślnie "true"

ct_gitlab_runner_docker_image: domyślnie "alpine"

ct_gitlab_runner_path_srv_dir: główny katalog do przechowywania konfiguracji serwisów, domyślnie "/srv"

ct_gitlab_runner_path_cfg_dir: ostateczny katalog, w którym przechowywane są konfiguracje serwisów, domyślnie "{{ ct_gitlab_runner_path_srv_dir }}/{{ ct_gitlab_runner_ct_name }}/config"

ct_gitlab_runner_path_cfg: plik konfiguracyjny runnera, domyślnie "{{ ct_gitlab_runner_path_cfg_dir }}/config.toml"; nie zmieniaj tego, to naprawdę config.toml

ct_gitlab_runner_ct_image_tag: wersja runnera, czyli tag obrazu gitlab-runnera, domyślnie "alpine"

ct_gitlab_runner_ct_image: obraz kontenera gitlab-runner, domyślnie "gitlab/gitlab-runner:{{ ct_gitlab_runner_ct_image_tag }}"; zmień tylko, jeśli chcesz mieć własną wersję kontenera gitlab-runner

ct_gitlab_runner_ct_restart_policy: polityka ponownego uruchamiania kontenera, domyślnie "always"

ct_gitlab_runner_ct_state: stan kontenera po wdrożeniu, domyślnie "started"

ct_gitlab_runner_ct_restart: czy musimy ponownie uruchomić kontener po wdrożeniu, domyślnie "false"

ct_gitlab_runner_ct_pull: czy musimy próbować pobrać obraz podczas wdrożenia, domyślnie "false"

ct_gitlab_runner_ct_recreate: czy musimy odtworzyć kontener, domyślnie "false"

ct_gitlab_runner_cache_s3_enabled: czy zamierzamy używać S3/Minio do cache, domyślnie false

ct_gitlab_runner_cache_s3_server_address: temat, obowiązkowy jeśli S3 jest włączone, brak domyślnej wartości

ct_gitlab_runner_cache_s3_access_key: temat, obowiązkowy jeśli S3 jest włączone, brak domyślnej wartości

ct_gitlab_runner_cache_s3_secret_key: temat, obowiązkowy jeśli S3 jest włączone, brak domyślnej wartości

ct_gitlab_runner_force_reg: czy chcemy ponownie zarejestrować ten runner; domyślnie false

ct_gitlab_runner_docker_volumes: dodatkowe montowanie dla kontenerów uruchamianych przez wykonawcę dockera, domyślnie []; przydatne, jeśli chcesz przechodzić docker.sock lub zamontować wolumin /cache

ct_gitlab_runner_dind_enabled: ustaw na true, jeśli chcesz, aby Twoje kontenery dockera działały w trybie uprzywilejowanym; domyślnie false

ct_gitlab_runner_ct_volumes: domyślnie tylko montuje katalog konfiguracyjny do kontenera runnera, tj. [ "{{ ct_gitlab_runner_path_cfg_dir }}:/etc/gitlab-runner:rw" ]

ct_gitlab_runner_dond_enabled: jeśli ustawione na true (i to jest domyślne), przekazujemy również /var/run/docker.sock do kontenera runnera

Jest kilka innych ciekawych zmiennych. Sprawdź je w pliku: defaults/main.yml

Przykład Playbooka

- hosts:
    - gitlab_runners
  become: true
  vars:
    # wspólna konfiguracja
    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 }}"
    # tokeny
    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

Licencja

MIT

Informacje o autorze

Dmitrii Kashin, freehck@freehck.com

O projekcie

deploy gitlab-runner in docker container and register it

Zainstaluj
ansible-galaxy install almaops.ct_gitlab_runner
Licencja
Unknown
Pobrania
668
Właściciel
Premium IT Consulting