jenkinslts

build-test release Ansible Role Ansible Role Ansible Quality Score Quality Gate Status Maintainability Rating Reliability Rating Security Rating GitHub tag (latest SemVer) GitHub repo size

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

Лицензия

MIT

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

Эта роль была создана Али Мухаммадом.

О проекте

Jenkins LTS version installation on Ubuntu xenial/bionic, Debian stretch and CentOS7.

Установить
ansible-galaxy install darkwizard242/ansible-role-jenkinslts
Лицензия
mit
Загрузки
4598
Владелец
Senior DevOps/CloudOps Engineer. Dedicated to Automating everything I come across. Love to work on and learn new technologies/tools everyday!