jenkins_configuration_as_code

CI

wcm_io_devops.jenkins_configuration_as_code

Эта роль управляет установкой, настройкой и обновлением плагина Jenkins Configuration as Code Plugin (JCasC).

Задачи:

  • Установка плагина JCasC
  • Настройка пути для плагина JCasC
  • Развертывание конфигурационных файлов JCasC
  • Перезагрузка JCasC

Требования

Эта роль требует Ansible 2.7 или выше и работающий Jenkins на целевой машине.

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

Доступные переменные перечислены ниже, вместе с их значениями по умолчанию.

jenkins_casc_admin_username: admin

Имя пользователя администратора Jenkins.

jenkins_casc_admin_password: admin

Пароль администратора Jenkins.

jenkins_casc_owner: jenkins

Пользователь Linux Jenkins.

jenkins_casc_group: "{{ jenkins_casc_owner }}"

Группа Linux пользователя Jenkins.

jenkins_casc_jenkins_hostname: localhost

Имя хоста экземпляра Jenkins.

jenkins_casc_jenkins_port: 8080

HTTP порт экземпляра Jenkins.

jenkins_casc_jenkins_url_prefix: ""

Префикс URL экземпляра Jenkins, например, если работает в Tomcat.

jenkins_casc_jenkins_base_url: "http://{{ jenkins_casc_jenkins_hostname }}:{{ jenkins_casc_jenkins_port }}{{ jenkins_casc_jenkins_url_prefix }}"

Базовый URL экземпляра Jenkins.

jenkins_casc_jenkins_home: "/var/lib/jenkins"

Путь к каталогу Jenkins JCasC, содержащему YAML файлы для конфигурации.

jenkins_casc_config_path: "{{ jenkins_casc_jenkins_home }}/jcasc"

Путь к каталогу Jenkins JCasC, содержащему YAML файлы для конфигурации.

jenkins_casc_config_path_configure: false

Включает / Выключает настройку пути конфигурации. Когда это значение установлено в true, путь JCasC в экземпляре Jenkins устанавливается как jenkins_casc_config_path. Если путь отличается от ранее установленного, конфигурация будет напрямую перезагружена.

jenkins_casc_config_fileglobs: []

Конфигурационные файлы/шаблоны для загрузки. Если результат этого шага изменится, конфигурация будет перезагрузена.

jenkins_casc_config_unmanaged_delete: false

Контролирует, будут ли удаляться существующие файлы в 'jenkins_casc_config_path', которые не включены в 'jenkins_casc_config_fileglobs'. Удаление будет выполнено только при условии, что как минимум один файл был загружен в 'jenkins_casc_config_path'.

jenkins_casc_script_timeout: 60

Тайм-аут для задач jenkins_script в секундах.

jenkins_casc_plugins_present:
  - name: configuration-as-code
    version: "1.3"
  - name: configuration-as-code-support
    version: "1.3"

Плагины, необходимые для configuration-as-code.

jenkins_casc_secrets_dir: /var/jenkins_secrets

Папка, где будут храниться учетные данные на мастере. Путь будет настроен в переменной окружения SECRETS.

jenkins_casc_secrets_unmanaged_delete: true

Контролирует, будет ли роль удалять существующие, но не определенные учетные данные из jenkins_casc_secrets_dir. Удаление будет выполнено только при условии, что как минимум одна секретная информация была загружена в 'jenkins_casc_secrets_dir'.

jenkins_casc_secrets: []
# Пример:
# - id: credential-id
#   value: credential-value

Список пар id/значение учетных данных. id затем можно ссылаться в JCasC с помощью ${id} как ссылка на значение.

Зависимости

Эта роль зависит от роли wcm_io_devops.jenkins_plugins для установки/удаления плагинов.

В качестве транзитивной зависимости эта роль использует wcm_io_devops.jenkins_facts для получения списка установленных плагинов из экземпляра Jenkins.

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

Этот плейбук установит путь к конфигурации JCasC на /var/lib/jenkins/jcasc-folder и развернет все .yml и .yaml файлы, найденные в file/jcasc/my-jenkins/, в этот каталог.

- name: "Развернуть jcasc"
  hosts: jenkins
  vars:
    jenkins_casc_config_path_configure: true
    jenkins_casc_config_path: "/var/lib/jenkins/jcasc-folder"
    jenkins_casc_config_fileglobs:
        - file/jcasc/my-jenkins/*.yml
        - file/jcasc/my-jenkins/*.yaml
  roles:
    - wcm_io_devops.jenkins_configuration_as_code

Лицензия

Apache 2.0

О проекте

Configures Jenkins configuration as code plugin (jcasc).

Установить
ansible-galaxy install wcm-io-devops/ansible-jenkins-configuration-as-code
Лицензия
apache-2.0
Загрузки
12854
Владелец
Tools for Configuration Management and Deployment