gitlab_runner

Роль gitlab-runner

Лицензия Статус сборки Статус сборки Galaxy Ansible Ansible

Краткое описание

Эта роль Ansible имеет следующие функции:

  • Установка gitlab-runner

Требования

  • Версия Ansible для установки: 2.8
  • Поддерживаемые ОС:
    • EL (RedHat, CentOS)
      • 7, 8
    • Amazon2 Linux
    • Ubuntu
      • 16.04
      • 18.04
    • Debian
      • 8, 9

Переменные роли

  • обязательные
    • gitlab_version
      Конкретная версия Gitlab-Runner. Значение по умолчанию latest.
    • gitlab_api_token
      Токен, необходимый для доступа к Gitlab API. Значение по умолчанию ''.
    • gitlab_ci_token
      Токен, полученный для регистрации Runner. Значение по умолчанию ''.
    • gitlab_runner_description
      Уникальное имя runner. Значение по умолчанию:
    {{ ansible_fqdn }}
    {{ ansible_distribution }}
    {{ ansible_distribution_major_version }}
  • значения по умолчанию

    • no_logs
      Скрыть конфиденциальную информацию в логах. Значение по умолчанию true
    • gitlab_runner_skip_registration
      Пропустить регистрацию gitlab-runner после установки. Значение по умолчанию false
    • gitlab_host
      Docker сервер GitLab. Значение по умолчанию gitlab.com
    • gitlab_url
      URL адрес GitLab. Значение по умолчанию: https://{{ gitlab_host }}/
    • gitlab_runner_tags
      Теги, связанные с Runner. Должны разделяться запятыми. Значение по умолчанию delegated
    • gitlab_runner_access_level: not_protected
      Определяет, может ли runner брать задачи из защищенных веток. Доступные значения: ref_protected, not_protected. Значение по умолчанию not_protected
    • gitlab_runner_untagged_builds_run
      Конфигурация, которая предотвращает выполнение задач без тегов. Значение по умолчанию false
    • gitlab_runner_lock_to_project
      Конфигурация, которая блокирует Runner для текущего проекта. Значение по умолчанию false
    • gitlab_runner_executor
      Исполнитель runner. Значение по умолчанию shell
    • gitlab_runner_extra_options
      Дополнительная опция для процесса регистрации runner. Значение по умолчанию undefined
    • gitlab_runner_limit
      Конфигурация, которая ограничивает количество задач, которые могут быть обработаны одновременно с помощью этого токена. Значение 0 значит, что ограничений нет. Значение по умолчанию 1
    • gitlab_runner_concurrent
      Ограничивает общее количество задач, которые могут выполняться одновременно. Максимальный лимит задач с использованием всех определенных runners. Значение 0 не значит, что неограниченно. Значение по умолчанию ansible_processor_vcpus
    • gitlab_runner_request_concurrency
      Ограничивает количество одновременных запросов на новые задачи из GitLab. Значение по умолчанию 1
    • gitlab_runner_env_vars
      Добавляет или перезаписывает переменные окружения. Значение по умолчанию ["ENV=value", "LC_ALL=en_US.UTF-8"]
    • gitlab_runner_package Название пакета gitlab-runner. Значение по умолчанию: gitlab-runner
    • gitlab_runner_packages_additional
      Установить дополнительные пакеты для всех установок. Значение по умолчанию []
    • gitlab_runner_gpg
      GPG ключ для Debian. Значение по умолчанию https://packages.gitlab.com/gpg.key
    • gitlab_global_section
      Глобальный раздел конфигурации gitlab. Значение по умолчанию:
      concurrent: '{{ gitlab_runner_request_concurrency }}'
      check_interval: 0
    
    • gitlab_session_server_section
      Серверный раздел конфигурации gitlab. Значение по умолчанию: session_timeout: 1800
    • gitlab_runners_section
      Раздел runners в конфигурации gitlab. Значение по умолчанию:
      name: '{{ gitlab_runner_description }}'
      url: '{{ gitlab_url }}'
      token: '{{ gitlab_runner.runner.token | default(omit) }}'
      executor: '{{ gitlab_runner_executor }}'
      environment: '{{ gitlab_runner_env_vars }}'
    
  • продвинутая конфигурация

    • gitlab_runner_config
      Словарь, используемый для продвинутой конфигурации:
      • params
        Переменные окружения, используемые в процессе регистрации
      • global_values
        Словарь с ключ:значение, используемый для добавления/изменения нестроковых значений в файле "config.toml"
      • global_strings
        Словарь с ключ:значение, используемый для добавления/изменения строковых значений в файле "config.toml"
  • дополнительные переменные

    • yum_libselinux_python_library
      Название библиотеки Selinux для Python. Значение по умолчанию: libselinux-python Для RedHat 8 или Fedora имя библиотеки может отличаться, например python3-libselinux.
    • yum_libselinux_config_libraries
      Библиотеки конфигурации Selinux. Значение по умолчанию — список: [policycoreutils-python, libsemanage-python]. Для RedHat 8 или Fedora значение может отличаться:
      • python3-policycoreutils
      • python3-libsemanage
    • epel_repository_url
      URL пакета репозитория EPEL. Значение по умолчанию: https://dl.fedoraproject.org/pub/epel/epel-release-latest-{{ ansible_distribution_major_version }}.noarch.rpm
    • epel_rpm_key
      Ключ rpm для EPEL. Значение по умолчанию: /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-{{ ansible_distribution_major_version }}
    • gitlab_runner_python_module_version
      Версия библиотеки python-gitlab. Значение по умолчанию: '1.12.1'
    • pip_executable
      Название исполняемого файла pip. Значение по умолчанию:
      • pip для систем на базе RedHat
      • pip3 для систем на базе Debian
    • python_executable
      Название исполняемого файла python. Значение по умолчанию:
      • python для систем на базе RedHat
      • python3 для систем на базе Debian

Примеры установки текущей роли

С помощью playlabs вы можете установить эту роль всего одной командой, например:

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

Или, без playlabs, установите с помощью galaxy, чтобы использовать в своем плейбуке:

ansible-galaxy install lean_delivery.gitlab_runner

Пример плейбука

Установка gitlab-runner без регистрации:

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

Установка gitlab-runner с регистрацией и настройкой:

- name: Converge
  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: 'Мой отличный 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

Лицензия

Apache

Лицензия

Информация об авторе

авторы:

Установить
ansible-galaxy install lean-delivery/ansible-role-gitlab-runner
Лицензия
apache-2.0
Загрузки
42966
Владелец
Simplify by using!