lean_delivery.gitlab_runner

Rola gitlab-runner

Licencja Status budowy Status budowy Galaxy Ansible Ansible

Podsumowanie

Ta rola Ansible ma następujące funkcje:

  • Instaluje gitlab-runner

Wymagania

  • Wersja Ansible do instalacji: 2.8
  • Obsługiwane systemy operacyjne:
    • EL (RedHat, CentOS)
      • 7, 8
    • Amazon2 Linux
    • Ubuntu
      • 16.04
      • 18.04
    • Debian
      • 8, 9

Zmienne roli

  • wymagane
    • gitlab_version
      Konkretna wersja Gitlab-Runner. Wartość domyślna to latest.
    • gitlab_api_token
      Token potrzebny do uzyskania dostępu do API Gitlab. Wartość domyślna to ''.
    • gitlab_ci_token
      Token uzyskany w celu rejestracji Runnera. Wartość domyślna to ''.
    • gitlab_runner_description
      Unikalna nazwa runnera. Wartość domyślna:
    {{ ansible_fqdn }}
    {{ ansible_distribution }}
    {{ ansible_distribution_major_version }}
  • domyślne

    • no_logs
      Ukrywa wrażliwe informacje z logów. Wartość domyślna to true.
    • gitlab_runner_skip_registration
      Pomija rejestrację gitlab-runnera po instalacji. Wartość domyślna to false.
    • gitlab_host
      Serwer dockera gitlab. Wartość domyślna to gitlab.com.
    • gitlab_url
      Adres URL Gitlab. Wartość domyślna: https://{{ gitlab_host }}/.
    • gitlab_runner_tags
      Tagów związanych z Runnerem. Powinny być oddzielone przecinkami. Wartość domyślna to delegated.
    • gitlab_runner_access_level: not_protected
      Określa, czy runner może pobierać zadania z chronionych gałęzi. Dostępne wartości: ref_protected, not_protected. Wartość domyślna to not_protected.
    • gitlab_runner_untagged_builds_run
      Ustawienie, które zapobiega pobieraniu zadań bez tagów. Wartość domyślna to false.
    • gitlab_runner_lock_to_project
      Ustawienie, które blokuje Runnera do bieżącego projektu. Wartość domyślna to false.
    • gitlab_runner_executor
      Wykonawca runnera. Wartość domyślna to shell.
    • gitlab_runner_extra_options
      Dodatkowe opcje do procesu rejestracji runnera. Wartość domyślna to undefined.
    • gitlab_runner_limit
      Ustawienie, które ogranicza, ile zadań można obsługiwać jednocześnie z tym tokenem. 0 oznacza brak ograniczeń. Wartość domyślna to 1.
    • gitlab_runner_concurrent
      Ogranicza, ile zadań globalnie może być uruchamianych jednocześnie. Górna granica zadań korzystających ze wszystkich zdefiniowanych runnerów. 0 nie oznacza nielimitowanego. Wartość domyślna to ansible_processor_vcpus.
    • gitlab_runner_request_concurrency
      Ogranicza liczbę równoczesnych żądań o nowe zadania z GitLab. Wartość domyślna to 1.
    • gitlab_runner_env_vars
      Dodaje lub nadpisuje zmienne środowiskowe. Wartość domyślna to ["ENV=value", "LC_ALL=en_US.UTF-8"].
    • gitlab_runner_package Nazwa pakietu gitlab-runner. Wartość domyślna: gitlab-runner.
    • gitlab_runner_packages_additional
      Instaluje dodatkowe pakiety dla wszystkich instalacji. Wartość domyślna to [].
    • gitlab_runner_gpg
      Klucz GPG dla Debiana. Wartość domyślna to https://packages.gitlab.com/gpg.key.
    • gitlab_global_section
      Globalna sekcja konfiguracji gitlab. Wartość domyślna to słownik:
      concurrent: '{{ gitlab_runner_request_concurrency }}'
      check_interval: 0
    
    • gitlab_session_server_section
      Sekcja serwera konfiguracji gitlab. Wartość domyślna to słownik: session_timeout: 1800.
    • gitlab_runners_section
      Sekcja runnerów konfiguracji gitlab. Wartość domyślna to słownik:
      name: '{{ gitlab_runner_description }}'
      url: '{{ gitlab_url }}'
      token: '{{ gitlab_runner.runner.token | default(omit) }}'
      executor: '{{ gitlab_runner_executor }}'
      environment: '{{ gitlab_runner_env_vars }}'
    
  • zaawansowana konfiguracja

    • gitlab_runner_config
      Słownik używany do zaawansowanej konfiguracji:
      • params
        Zmienne środowiskowe używane podczas procesu rejestracji.
      • global_values
        Słownik z klucz:wartość używany do dodawania/zmiany nie-łańcuchowych wartości w pliku "config.toml".
      • global_strings
        Słownik z klucz:wartość używany do dodawania/zmiany łańcuchowych wartości w pliku "config.toml".
  • dodatkowe zmienne

    • yum_libselinux_python_library
      Nazwa biblioteki python dla Selinux. Wartość domyślna: libselinux-python. Dla RedHat 8 lub Fedory nazwa biblioteki może być inna, np. python3-libselinux.
    • yum_libselinux_config_libraries
      Biblioteki konfiguracji Selinux. Wartość domyślna to lista: [policycoreutils-python, libsemanage-python]. Dla RedHat 8 lub Fedory wartość może się różnić:
      • python3-policycoreutils
      • python3-libsemanage.
    • epel_repository_url
      URL pakietu repozytorium EPEL. Wartość domyślna: https://dl.fedoraproject.org/pub/epel/epel-release-latest-{{ ansible_distribution_major_version }}.noarch.rpm.
    • epel_rpm_key
      Klucz rpm EPEL. Wartość domyślna: /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-{{ ansible_distribution_major_version }}.
    • gitlab_runner_python_module_version
      Wersja biblioteki python-gitlab. Wartość domyślna: '1.12.1'.
    • pip_executable
      Nazwa wykonywalnego pliku pip. Wartość domyślna:
      • pip dla systemów opartych na RedHat
      • pip3 dla systemów opartych na Debianie.
    • python_executable
      Nazwa wykonywalnego pliku python. Wartość domyślna:
      • python dla systemów opartych na RedHat
      • python3 dla systemów opartych na Debianie.

Przykłady instalacji bieżącej roli

Z playlabs możesz zainstalować tę rolę za pomocą jednego polecenia, tj.:

playlabs install lean_delivery.gitlab_runner @localhost gitlab_ci_token=twojepolecenie gitlab_host=twojlabs.io gitlab_runner_limit=4 gitlab_version=11.6

Lub, bez playlabs, zainstaluj ją za pomocą Galaxy, aby używać jej w swoim playbooku:

ansible-galaxy install lean_delivery.gitlab_runner

Przykładowy Playbook


Instalacja gitlab-runnera bez rejestracji:

- nome: Zjednoczenie
  hosts: gitlab_runner
  roles:
    - role: lean_delivery.gitlab_runner
  vars:
    gitlab_runner_concurrent: 1
    gitlab_runner_skip_registration: true

Instalacja gitlab-runnera z rejestracją i konfiguracją:

- nome: Zjednoczenie
  hosts: gitlab_runner
  roles:
    - role: lean_delivery.gitlab_runner
      gitlab_runner_concurrent: 4
      gitlab_runner_skip_registration: false
      gitlab_api_token: >-
        {{ lookup('env', 'GITLAB_API_TOKEN') }}
      gitlab_ci_token: >-
        {{ lookup('env', 'GITLAB_REGISTRATION_TOKEN') }}
      gitlab_runner_description: 'Mój wspaniały runner'
      gitlab_runner_tags:
        - deploy_test
        - shell
      gitlab_runner_untagged_builds_run: false
      gitlab_runner_concurrent: 1
      gitlab_version: '12.5.1'
      gitlab_runner_skip_registration: false

Licencja


Apache

Licencja

Informacje o autorze


autorzy:

Zainstaluj
ansible-galaxy install lean_delivery.gitlab_runner
Licencja
apache-2.0
Pobrania
43.2k
Właściciel
Simplify by using!