lean_delivery.gitlab_runner

rôle gitlab-runner

Licence Statut de construction Statut de construction Galaxy Ansible Ansible

Résumé

Ce rôle Ansible a les fonctionnalités suivantes :

  • Installer gitlab-runner

Exigences

  • Version d'ansible pour l'installation : 2.8
  • Systèmes d'exploitation supportés :
    • EL (RedHat, CentOS)
      • 7, 8
    • Amazon2 Linux
    • Ubuntu
      • 16.04
      • 18.04
    • Debian
      • 8, 9

Variables de rôle

  • requis
    • gitlab_version
      Version spécifique de Gitlab-Runner. La valeur par défaut est latest.
    • gitlab_api_token
      Un jeton nécessaire pour accéder à l'API Gitlab. La valeur par défaut est ''.
    • gitlab_ci_token
      Un jeton obtenu pour enregistrer le Runner. La valeur par défaut est ''.
    • gitlab_runner_description
      Le nom unique du runner. Valeur par défaut :
    {{ ansible_fqdn }}
    {{ ansible_distribution }}
    {{ ansible_distribution_major_version }}
  • par défaut

    • no_logs
      Masquer les informations sensibles dans les journaux. La valeur par défaut est true
    • gitlab_runner_skip_registration
      Sauter l'enregistrement du gitlab-runner après l'installation. La valeur par défaut est false
    • gitlab_host
      Serveur Gitlab Docker. La valeur par défaut est gitlab.com
    • gitlab_url
      Adresse URL de Gitlab. Valeur par défaut : https://{{ gitlab_host }}/
    • gitlab_runner_tags
      Les balises associées au Runner. Doivent être séparées par des virgules. La valeur par défaut est delegated
    • gitlab_runner_access_level: not_protected
      Détermine si un runner peut prendre des tâches à partir de branches protégées. Valeurs disponibles : ref_protected not_protected La valeur par défaut est not_protected
    • gitlab_runner_untagged_builds_run
      Configuration qui empêche de prendre des tâches non balisées. Valeur par défaut est false
    • gitlab_runner_lock_to_project
      Configuration qui verrouille le Runner au projet actuel. Valeur par défaut est false
    • gitlab_runner_executor
      Exécuteur du Runner. Valeur par défaut est shell
    • gitlab_runner_extra_options
      Option supplémentaire pour le processus d'enregistrement du runner. Valeur par défaut est undefined
    • gitlab_runner_limit
      Configuration qui limite le nombre de tâches pouvant être traitées simultanément par ce jeton. 0 signifie simplement pas de limite. La valeur par défaut est 1
    • gitlab_runner_concurrent
      Limite le nombre de tâches pouvant être exécutées simultanément dans le monde entier. La limite supérieure du nombre de tâches utilisant tous les runners définis. 0 ne signifie pas illimité. La valeur par défaut est ansible_processor_vcpus
    • gitlab_runner_request_concurrency
      Limite le nombre de demandes simultanées pour de nouvelles tâches depuis GitLab. La valeur par défaut est 1
    • gitlab_runner_env_vars
      Ajoute ou remplace les variables d'environnement. Valeur par défaut est ["ENV=value", "LC_ALL=en_US.UTF-8"]
    • gitlab_runner_package Nom du package gitlab-runner. Valeur par défaut : gitlab-runner
    • gitlab_runner_packages_additional
      Installer des packages supplémentaires pour toutes les installations. Valeur par défaut est []
    • gitlab_runner_gpg
      Clé GPG pour Debian. Valeur par défaut est https://packages.gitlab.com/gpg.key
    • gitlab_global_section
      Section globale de la configuration gitlab. Par défaut est un dictionnaire :
      concurrent: '{{ gitlab_runner_request_concurrency }}'
      check_interval: 0
    
    • gitlab_session_server_section
      Section serveur de la configuration gitlab. Par défaut est un dictionnaire : session_timeout: 1800
    • gitlab_runners_section
      Section Runners de la configuration gitlab. Par défaut est un dictionnaire :
      name: '{{ gitlab_runner_description }}'
      url: '{{ gitlab_url }}'
      token: '{{ gitlab_runner.runner.token | default(omit) }}'
      executor: '{{ gitlab_runner_executor }}'
      environment: '{{ gitlab_runner_env_vars }}'
    
  • configuration avancée

    • gitlab_runner_config
      Dictionnaire utilisé pour des configurations avancées :
      • params
        Variables d'environnement utilisées lors du processus d'enregistrement
      • global_values
        Dictionnaire avec clé:valeur utilisé pour ajouter/changer valeurs non chaîne dans le fichier "config.toml"
      • global_strings
        Dictionnaire avec clé:valeur utilisé pour ajouter/changer valeurs chaîne dans le fichier "config.toml"
  • variables supplémentaires

    • yum_libselinux_python_library
      Nom de la bibliothèque Python Selinux. Valeur par défaut : libselinux-python Pour RedHat 8 ou Fedora, le nom de la bibliothèque peut être différent, par exemple python3-libselinux.
    • yum_libselinux_config_libraries
      Bibliothèques de configuration Selinux. Valeur par défaut est la liste : [policycoreutils-python, libsemanage-python]. Pour RedHat 8 ou Fedora, la valeur peut être différente :
      • python3-policycoreutils
      • python3-libsemanage
    • epel_repository_url
      URL du package du dépôt EPEL. Valeur par défaut : https://dl.fedoraproject.org/pub/epel/epel-release-latest-{{ ansible_distribution_major_version }}.noarch.rpm
    • epel_rpm_key
      Clé rpm EPEL. Valeur par défaut : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-{{ ansible_distribution_major_version }}
    • gitlab_runner_python_module_version
      Version de la bibliothèque python-gitlab. Valeur par défaut : '1.12.1'
    • pip_executable
      Nom du binaire exécutable pip. Valeur par défaut :
      • pip pour les cibles basées sur RedHat
      • pip3 pour les cibles basées sur Debian
    • python_executable
      Nom de l'exécutable Python. Valeur par défaut :
      • python pour les cibles basées sur RedHat
      • python3 pour les cibles basées sur Debian

Quelques exemples de l'installation de ce rôle

Avec playlabs, vous pouvez installer ce rôle avec une seule commande, c'est-à-dire :

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

Ou, sans playlabs, installez avec galaxy pour pouvoir l'utiliser avec votre playbook :

ansible-galaxy install lean_delivery.gitlab_runner

Exemple de playbook

Installation de gitlab-runner sans enregistrement :

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

Installation de gitlab-runner avec enregistrement et configuration :

- name: Converger
  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: 'Mon Grand 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

Licence

Apache

Licence

Informations sur les auteurs

auteurs :

Installer
ansible-galaxy install lean_delivery.gitlab_runner
Licence
apache-2.0
Téléchargements
43.2k
Propriétaire
Simplify by using!