jenkinslts
Ansible Роль: jenkinslts
Роль для установки (по умолчанию) LTS версии Jenkins для систем на базе Debian и EL или удаления (если передан как переменная) на системах Debian и EL.
Требования
Для работы Jenkins требуется Java.
Вы можете установить Java с помощью роли darkwizard242.adoptopenjdk.
Переменные роли
Доступные переменные перечислены ниже (находятся в defaults/main.yml
):
Список переменных:
jenkinslts_user: jenkins
jenkinslts_group: jenkins
jenkinslts_group_desired_state: present
jenkinslts_user_home: "/var/lib/{{ jenkinslts_user }}"
jenkinslts_user_shell: /bin/false
jenkinslts_user_desired_state: present
jenkinslts_app_name: jenkins
jenkinslts_debian_gpg_key: https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key
jenkinslts_el_gpg_key: https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
jenkinslts_repo_debian: deb https://pkg.jenkins.io/debian-stable binary/
jenkinslts_repo_debian_filename: "{{ jenkinslts_app_name }}"
jenkinslts_repo_el_name: jenkins
jenkinslts_repo_el_description: Jenkins
jenkinslts_repo_el: http://pkg.jenkins.io/redhat-stable
jenkinslts_repo_el_filename: "{{ jenkinslts_app_name }}"
jenkinslts_repo_el_gpgcheck: yes
jenkinslts_repo_desired_state: present
jenkinslts_desired_state: present
jenkinslts_default_debain_config_file: /etc/default/jenkins
jenkinslts_default_el_config_file: /etc/sysconfig/jenkins
jenkinslts_app_port: 8080
jenkinslts_app_heapsize_max: 256m
jenkinslts_service_name: jenkins
jenkinslts_service_desired_state: restarted
jenkinslts_service_desired_boot_enabled: yes
jenkinslts_app_check_status_code: 200
jenkinslts_app_check_status_code_retries: 10
jenkinslts_app_check_status_code_delay: 5
jenkinslts_app_admin_password_file: "{{ jenkinslts_user_home }}/secrets/initialAdminPassword"
Таблица переменных:
Переменная | Описание |
---|---|
jenkinslts_group | Название группы, к которой будет принадлежать владелец jenkins. Аргумент группы Jenkins требуется только в системах на базе Debian, не в EL. |
jenkinslts_group_desired_state | present указывает на создание группы, если она не существует. Альтернатива — absent . |
jenkinslts_user | Имя пользователя, которому будет принадлежать jenkins. |
jenkinslts_user_home | Домашний каталог для пользователя jenkins, указанного выше как jenkinslts_user . Поскольку Jenkins по умолчанию устанавливается в /var/lib/jenkins , рекомендуется использовать этот каталог. |
jenkinslts_user_shell | Оболочка для jenkinslts_user . Обычно использование оболочки не требуется, поэтому установлено значение /bin/false . |
jenkinslts_user_desired_state | present указывает на создание пользователя, если он не существует. Альтернатива — absent . |
jenkinslts_debian_gpg_key | GPG-ключ Jenkins, необходимый в системах на базе Debian. |
jenkinslts_el_gpg_key | GPG-ключ Jenkins, необходимый в системах EL. |
jenkinslts_repo_debian | Репозиторий для добавления в системы на базе Debian. |
jenkinslts_repo_debian_filename | Имя файла репозитория, который будет сохраняться в /etc/apt/sources.list.d/ в системах на базе Debian. По умолчанию соответствует значению переменной "{{ jenkinslts_app_name }}", то есть jenkins . |
jenkinslts_repo_el_name | Имя репозитория для Jenkins в системах EL. |
jenkinslts_repo_el_description | Описание, которое будет добавлено в файл репозитория EL для Jenkins. |
jenkinslts_repo_el | Базовый URL репозитория для Jenkins в системах EL. |
jenkinslts_repo_el_gpgcheck | Булевый параметр, указывающий, выполнять ли проверку GPG для Jenkins в системах EL. |
jenkinslts_repo_desired_state | present указывает на создание файла репозитория, если он не существует в системах Debian или EL. Альтернатива — absent (не рекомендуется, так как это предотвратит установку пакета jenkins). |
jenkinslts_app_name | Название приложения Jenkins LTS (долгосрочная поддержка), то есть jenkins . |
jenkinslts_desired_state | Состояние пакета jenkinslts_app_name (то есть самого пакета jenkins ). Указывает, устанавливать, проверять доступность или удалять (значения модуля ansible apt: present , latest или absent ). |
jenkinslts_default_debain_config_file | Файл конфигурации по умолчанию для Jenkins в системах на базе Debian. |
jenkinslts_default_el_config_file | Файл конфигурации по умолчанию для Jenkins в системах EL. |
jenkinslts_app_port | Порт, который будет использоваться Jenkins. |
jenkinslts_app_heapsize_max | Максимальный размер кучи JVM, выделяемый для Jenkins. |
jenkinslts_service_name | Имя службы по умолчанию для Jenkins. |
jenkinslts_service_desired_state | Желаемое состояние службы Jenkins. |
jenkinslts_service_desired_boot_enabled | Желаемое состояние включения/выключения службы Jenkins. |
jenkinslts_app_check_status_code | Желаемый код состояния, который должен возвращаться в обработчике, проверяющем URL Jenkins после установки и перезапуска. Установлено значение 200, так как путь /login возвращает HTTP-код 200. |
jenkinslts_app_check_status_code_retries | Количество повторных попыток для URL curl установлено на 10 (так как Jenkins может занять некоторое время для запуска). |
jenkinslts_app_check_status_code_delay | Задержка между повторами для URL curl установлена на 5. |
jenkinslts_app_admin_password_file | Файл, содержащий пароль администратора по умолчанию для интерфейса Jenkins. |
Зависимости
Для работы Jenkins требуется Java.
Вы можете установить Java с помощью роли darkwizard242.adoptopenjdk.
Пример плейбука
Для поведения роли по умолчанию (то есть установки пакета jenkins) в ansible плейбуках.
- hosts: servers
roles:
- darkwizard242.jenkinslts
Для настройки поведения роли (то есть установки роли darkwizard242.adoptopenjdk
вместе с darkwizard242.jenkins) в ansible плейбуках.
- hosts: servers
roles:
- darkwizard242.adoptopenjdk
- darkwizard242.jenkinslts
vars:
adoptopenjdk_app_name: adoptopenjdk-11-hotspot
adoptopenjdk_desired_state: present
jenkinslts_desired_state: latest
Для настройки поведения роли (то есть удаления пакета jenkins) в ansible плейбуках.
- hosts: servers
roles:
- darkwizard242.jenkinslts
vars:
jenkinslts_desired_state: absent
Лицензия
Информация об авторе
Эта роль была создана Али Мухаммадом.
Jenkins LTS version installation on Ubuntu xenial/bionic, Debian stretch and CentOS7.
ansible-galaxy install darkwizard242/ansible-role-jenkinslts