gitlab_runner
Роль gitlab-runner
Краткое описание
Эта роль Ansible имеет следующие функции:
- Установка gitlab-runner
Требования
- Версия Ansible для установки: 2.8
- Поддерживаемые ОС:
- EL (RedHat, CentOS)
- 7, 8
- Amazon2 Linux
- Ubuntu
- 16.04
- 18.04
- Debian
- 8, 9
- EL (RedHat, CentOS)
Переменные роли
- обязательные
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
для систем на базе RedHatpip3
для систем на базе Debian
python_executable
Название исполняемого файла python. Значение по умолчанию:python
для систем на базе RedHatpython3
для систем на базе 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
Информация об авторе
авторы:
- Команда Lean Delivery team@lean-delivery.com
О проекте
Lean Delivery Gitlab Runner install
Установить
ansible-galaxy install lean-delivery/ansible-role-gitlab-runner
Лицензия
apache-2.0
Загрузки
43016
Владелец
Simplify by using!