lean_delivery.gitlab_runner

gitlab-runner Rolle

Lizenz Build-Status Build-Status Galaxy Ansible Ansible

Zusammenfassung

Dieses Ansible-Rolle hat folgende Funktionen:

  • Installation von gitlab-runner

Anforderungen

  • Version von Ansible für die Installation: 2.8
  • Unterstützte Betriebssysteme:
    • EL (RedHat, CentOS)
      • 7, 8
    • Amazon2 Linux
    • Ubuntu
      • 16.04
      • 18.04
    • Debian
      • 8, 9

Rollenvariablen

  • erforderlich
    • gitlab_version
      Spezifische Version des Gitlab-Runners. Standardwert ist latest.
    • gitlab_api_token
      Ein Token, den Sie benötigen, um auf die Gitlab-API zuzugreifen. Standardwert ist ''.
    • gitlab_ci_token
      Ein Token, das Sie zur Registrierung des Runners erhalten haben. Standardwert ist ''.
    • gitlab_runner_description
      Der einzigartige Name des Runners. Standardwert:
    {{ ansible_fqdn }}
    {{ ansible_distribution }}
    {{ ansible_distribution_major_version }}
  • Standardwerte

    • no_logs
      Sensible Informationen aus Protokollen ausblenden. Standardwert ist true.
    • gitlab_runner_skip_registration
      Registrierung des gitlab-runners nach der Installation überspringen. Standardwert ist false.
    • gitlab_host
      Docker Gitlab-Server. Standardwert ist gitlab.com.
    • gitlab_url
      Gitlab-URL-Adresse. Standardwert: https://{{ gitlab_host }}/.
    • gitlab_runner_tags
      Die mit dem Runner verbundenen Tags. Soll durch Kommata getrennt sein. Standardwert ist delegated.
    • gitlab_runner_access_level: not_protected
      Bestimmt, ob ein Runner Jobs von geschützten Branches abrufen kann. Verfügbare Werte: ref_protected not_protected. Standardwert ist not_protected.
    • gitlab_runner_untagged_builds_run
      Konfiguration, die verhindert, dass untagged Jobs ausgewählt werden. Standardwert ist false.
    • gitlab_runner_lock_to_project
      Konfiguration, die den Runner an das aktuelle Projekt bindet. Standardwert ist false.
    • gitlab_runner_executor
      Runner-Executor. Standardwert ist shell.
    • gitlab_runner_extra_options
      Zusätzliche Optionen für den Registrierungsprozess des Runners. Standardwert ist undefined.
    • gitlab_runner_limit
      Konfiguration, die einschränkt, wie viele Jobs gleichzeitig mit diesem Token verarbeitet werden können. 0 bedeutet einfach keine Begrenzung. Standardwert ist 1.
    • gitlab_runner_concurrent
      Limitiert, wie viele Jobs global gleichzeitig ausgeführt werden können. Höchste Obergrenze der Jobs, die alle definierten Runner verwenden. 0 bedeutet nicht unbegrenzt. Standardwert ist ansible_processor_vcpus.
    • gitlab_runner_request_concurrency
      Begrenzt die Anzahl gleichzeitiger Anfragen für neue Jobs von GitLab. Standardwert ist 1.
    • gitlab_runner_env_vars
      Anhängen oder Überschreiben von Umgebungsvariablen. Standardwert ist ["ENV=value", "LC_ALL=en_US.UTF-8"].
    • gitlab_runner_package
      Name des Gitlab-Runner-Pakets. Standard: gitlab-runner.
    • gitlab_runner_packages_additional
      Zusätzliche Pakete für alle Installationen installieren. Standardwert ist [].
    • gitlab_runner_gpg
      GPG-Schlüssel für Debian. Standardwert ist https://packages.gitlab.com/gpg.key.
    • gitlab_global_section
      Globale Sektion der Gitlab-Konfiguration. Standard ist das Wörterbuch:
      concurrent: '{{ gitlab_runner_request_concurrency }}'
      check_interval: 0
    
    • gitlab_session_server_section
      Server-Sektion der Gitlab-Konfiguration. Standard ist das Wörterbuch: session_timeout: 1800.
    • gitlab_runners_section
      Runners-Sektion der Gitlab-Konfiguration. Standard ist das Wörterbuch:
      name: '{{ gitlab_runner_description }}'
      url: '{{ gitlab_url }}'
      token: '{{ gitlab_runner.runner.token | default(omit) }}'
      executor: '{{ gitlab_runner_executor }}'
      environment: '{{ gitlab_runner_env_vars }}'
    
  • erweiterte Konfiguration

    • gitlab_runner_config
      Wörterbuch für erweiterte Konfigurationen:
      • params
        Umgebungsvariablen, die während des Registrierungsprozesses verwendet werden.
      • global_values
        Wörterbuch mit key:value, das verwendet wird, um nicht-String-Werte in der Datei "config.toml" hinzuzufügen/zu ändern.
      • global_strings
        Wörterbuch mit key:value, das verwendet wird, um String-Werte in der Datei "config.toml" hinzuzufügen/zu ändern.
  • zusätzliche Variablen

    • yum_libselinux_python_library
      Name der Selinux-Python-Bibliothek. Standardwert: libselinux-python.
      Für RedHat 8 oder Fedora kann der Bibliotheksname anders sein, z.B. python3-libselinux.
    • yum_libselinux_config_libraries
      Selinux-Konfigurationsbibliotheken. Standardwert ist die Liste: [policycoreutils-python, libsemanage-python]. Für RedHat 8 oder Fedora kann der Wert anders sein:
      • python3-policycoreutils
      • python3-libsemanage
    • epel_repository_url
      URL des EPEL-Repo-Pakets. Standard: https://dl.fedoraproject.org/pub/epel/epel-release-latest-{{ ansible_distribution_major_version }}.noarch.rpm
    • epel_rpm_key
      EPEL RPM-Schlüssel. Standardwert: /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-{{ ansible_distribution_major_version }}
    • gitlab_runner_python_module_version
      Version der python-gitlab-Bibliothek. Standard: '1.12.1'.
    • pip_executable
      Name der ausführbaren Pip-Datei. Standard:
      • pip für RedHat-basierte Zielsysteme.
      • pip3 für Debian-basierte Zielsysteme.
    • python_executable
      Name der ausführbaren Python-Datei. Standard:
      • python für RedHat-basierte Zielsysteme.
      • python3 für Debian-basierte Zielsysteme.

Einige Beispiele zur Installation der aktuellen Rolle

Mit playlabs können Sie diese Rolle mit nur einem Befehl installieren, z.B.:

playlabs install lean_delivery.gitlab_runner @localhost gitlab_ci_token=yourcommand gitlab_host=yourlabs.io gitlab_runner_limit=4 gitlab_version=11.6

Oder, ohne playlabs, installieren Sie mit Galaxy, damit Sie es mit Ihrem Playbook verwenden können:

ansible-galaxy install lean_delivery.gitlab_runner

Beispiel-Playbook

Installation von gitlab-runner ohne Registrierung:

- name: Konvergieren
  hosts: gitlab_runner
  roles:
    - role: lean_delivery.gitlab_runner
  vars:
    gitlab_runner_concurrent: 1
    gitlab_runner_skip_registration: true

Installation von gitlab-runner mit Registrierung und Konfiguration:

- name: Konvergieren
  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: 'Mein großer 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

Lizenz

Apache

Lizenz

Autoreninformationen

autoren:

Installieren
ansible-galaxy install lean_delivery.gitlab_runner
Lizenz
apache-2.0
Downloads
43.2k
Besitzer
Simplify by using!