lean_delivery.gitlab_runner

rol de gitlab-runner

Licencia Estado de Construcción Estado de Construcción Galaxy Ansible Ansible

Resumen

Este rol de Ansible tiene las siguientes características:

  • Instalar gitlab-runner

Requisitos

  • Versión de Ansible para la instalación: 2.8
  • Sistemas Operativos Soportados:
    • EL (RedHat, CentOS)
      • 7, 8
    • Amazon2 Linux
    • Ubuntu
      • 16.04
      • 18.04
    • Debian
      • 8, 9

Variables del Rol

  • requeridas
    • gitlab_version
      Versión específica de Gitlab-Runner. El valor por defecto es latest.
    • gitlab_api_token
      Un token que necesitas para acceder a la API de Gitlab. El valor por defecto es ''.
    • gitlab_ci_token
      Un token que obtuviste para registrar el Runner. El valor por defecto es ''.
    • gitlab_runner_description
      El nombre único del runner. Valor por defecto:
    {{ ansible_fqdn }}
    {{ ansible_distribution }}
    {{ ansible_distribution_major_version }}
  • por defecto

    • no_logs
      Ocultar información sensible de los registros. El valor por defecto es true.
    • gitlab_runner_skip_registration
      Omitir el registro del gitlab-runner después de la instalación. El valor por defecto es false.
    • gitlab_host
      Servidor gitlab de Docker. El valor por defecto es gitlab.com.
    • gitlab_url
      Dirección URL de Gitlab. Valor por defecto: https://{{ gitlab_host }}/.
    • gitlab_runner_tags
      Las etiquetas asociadas con el Runner. Deben estar separadas por comas. El valor por defecto es delegated.
    • gitlab_runner_access_level: not_protected
      Determina si un runner puede aceptar trabajos de ramas protegidas. Valores disponibles: ref_protected not_protected. El valor por defecto es not_protected.
    • gitlab_runner_untagged_builds_run
      Configuración que impide recoger trabajos no etiquetados. El valor por defecto es false.
    • gitlab_runner_lock_to_project
      Configuración que bloquea el Runner al proyecto actual. El valor por defecto es false.
    • gitlab_runner_executor
      Ejecutor del Runner. El valor por defecto es shell.
    • gitlab_runner_extra_options
      Opción extra para el proceso de registro del runner. El valor por defecto es undefined.
    • gitlab_runner_limit
      Configuración que limita cuántos trabajos pueden manejarse simultáneamente con este token. 0 simplemente significa no limitar. El valor por defecto es 1.
    • gitlab_runner_concurrent
      Limita cuántos trabajos se pueden ejecutar simultáneamente a nivel global. El límite superior de trabajos utilizando todos los runners definidos. 0 no significa ilimitado. El valor por defecto es ansible_processor_vcpus.
    • gitlab_runner_request_concurrency
      Limita el número de solicitudes concurrentes para nuevos trabajos desde GitLab. El valor por defecto es 1.
    • gitlab_runner_env_vars
      Agregar o sobrescribir variables de entorno. El valor por defecto es ["ENV=value", "LC_ALL=en_US.UTF-8"].
    • gitlab_runner_package Nombre del paquete gitlab-runner. Valor por defecto: gitlab-runner.
    • gitlab_runner_packages_additional
      Instalar paquetes adicionales para todas las instalaciones. El valor por defecto es [].
    • gitlab_runner_gpg
      Clave GPG para Debian. El valor por defecto es https://packages.gitlab.com/gpg.key.
    • gitlab_global_section
      Sección global de la configuración de gitlab. Valor por defecto es un diccionario:
      concurrent: '{{ gitlab_runner_request_concurrency }}'
      check_interval: 0
    
    • gitlab_session_server_section
      Sección del servidor en la configuración de gitlab. Valor por defecto es un diccionario: session_timeout: 1800.
    • gitlab_runners_section
      Sección de los runners en la configuración de gitlab. Valor por defecto es un diccionario:
      name: '{{ gitlab_runner_description }}'
      url: '{{ gitlab_url }}'
      token: '{{ gitlab_runner.runner.token | default(omit) }}'
      executor: '{{ gitlab_runner_executor }}'
      environment: '{{ gitlab_runner_env_vars }}'
    
  • configuración avanzada

    • gitlab_runner_config
      Diccionario utilizado para configuraciones avanzadas:
      • params
        Variables de entorno utilizadas durante el proceso de registro.
      • global_values
        Diccionario con clave:valor utilizado para agregar/cambiar valores no string en el archivo "config.toml".
      • global_strings
        Diccionario con clave:valor utilizado para agregar/cambiar valores string en el archivo "config.toml".
  • variables adicionales

    • yum_libselinux_python_library
      Nombre de la biblioteca python de Selinux. El valor por defecto es: libselinux-python. Para RedHat 8 o Fedora el nombre de la biblioteca puede ser diferente, por ejemplo, python3-libselinux.
    • yum_libselinux_config_libraries
      Bibliotecas de configuración de Selinux. El valor por defecto es una lista: [policycoreutils-python, libsemanage-python]. Para RedHat 8 o Fedora el valor puede ser diferente:
      • python3-policycoreutils
      • python3-libsemanage
    • epel_repository_url
      URL del paquete del repositorio EPEL. Valor por defecto: https://dl.fedoraproject.org/pub/epel/epel-release-latest-{{ ansible_distribution_major_version }}.noarch.rpm.
    • epel_rpm_key
      Clave rpm de EPEL. El valor por defecto es /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-{{ ansible_distribution_major_version }}.
    • gitlab_runner_python_module_version
      Versión de la biblioteca python-gitlab. Valor por defecto: '1.12.1'.
    • pip_executable
      Nombre del binario ejecutable pip. Valor por defecto:
      • pip para objetivos basados en RedHat.
      • pip3 para objetivos basados en Debian.
    • python_executable
      Nombre del ejecutable de python. Valor por defecto:
      • python para objetivos basados en RedHat.
      • python3 para objetivos basados en Debian.

Algunos ejemplos de cómo instalar el rol actual

Con playlabs puedes instalar este rol con solo un comando, es decir:

playlabs install lean_delivery.gitlab_runner @localhost gitlab_ci_token=tucomando gitlab_host=tuurl.com gitlab_runner_limit=4 gitlab_version=11.6

O, sin playlabs, instala con galaxy para que puedas usarlo con tu playbook:

ansible-galaxy install lean_delivery.gitlab_runner

Ejemplo de Playbook

Instalando gitlab-runner sin registro:

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

Instalando gitlab-runner con registro y configuración:

- 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: 'Mi Gran 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

Licencia

Apache

Licencia

Información del Autor

autores:

Instalar
ansible-galaxy install lean_delivery.gitlab_runner
Licencia
apache-2.0
Descargas
43.2k
Propietario
Simplify by using!