Spec-Zone.ru › Ansible 2.6

jenkins_plugin - Добавление или удаление плагина Jenkins

Новое в версии 2.2.

  • Обзор
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус
  • Обслуживание
    • Автор

Обзор

  • Модуль Ansible, помогающий управлять плагинами Jenkins.

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
client_cert
Файл цепочки сертификатов в формате PEM, используемый для аутентификации клиента по протоколу SSL. Этот файл также может содержать ключ, и если ключ включен, client_key не требуется.
client_key
Файл в формате PEM, содержащий ваш закрытый ключ, используемый для аутентификации клиента по протоколу SSL. Если client_cert содержит как сертификат, так и ключ, этот параметр не требуется.
force
bool
    Варианты:
  • нет ←
  • да
Если yes не получить кэшированную копию.

псевдонимы: thirsty
force_basic_auth
bool
    Варианты:
  • нет ←
  • да
Данные учетных записей, указанные с помощью url_username и url_password, должны передаваться в заголовке HTTP.
group По умолчанию:
"jenkins"
Имя группы Jenkins в ОС.
http_agent По умолчанию:
"ansible-httpget"
Заголовок для идентификации, обычно отображается в журналах веб-сервера.
jenkins_home По умолчанию:
"/var/lib/jenkins"
Директория пользователя Jenkins.
mode
Режим файла, применяемый к версиям плагинов.
name
Имя плагина.
owner По умолчанию:
"jenkins"
Имя пользователя Jenkins в ОС.
state
    Варианты:
  • отсутствует
  • наличие ←
  • закреплён
  • не закреплён
  • включён
  • выключен
  • последняя версия
Желаемое состояние плагина.
Если latest задано, проверка новой версии будет выполняться каждый раз. Это подходит для сохранения плагина в актуальном состоянии.
timeout По умолчанию:
30
Таймаут подключения к серверу в секундах.
updates_expiration По умолчанию:
86400
Количество секунд, по истечении которых загружается новая копия файла update-center.json. Это используется для предотвращения необходимости загрузки плагина для расчёта его контрольной суммы, когда latest указано.
Установите значение 0 если кэш-файл не должен использоваться. В этом случае файл плагина всегда загружается для расчёта контрольной суммы, когда latest указано.
updates_url По умолчанию:
"https://updates.jenkins-ci.org"
URL центра обновлений.
Используется в качестве базового URL для загрузки плагинов и JSON-файла update-center.json.
url По умолчанию:
"http://localhost:8080"
URL сервера Jenkins.
url_password
Пароль для использования в аутентификации HTTP по принципу проверки подлинности.
Если параметр url_username не указан, параметр url_password не будет использоваться.
url_username
Имя пользователя для использования в аутентификации HTTP по принципу проверки подлинности.
Этот параметр может быть использован без url_password для сайтов, допускающих пустые пароли
use_proxy
bool
    Варианты:
  • нет
  • да ←
Если no, прокси не будет использоваться, даже если он определён в переменной среды на целевых хостах.
validate_certs
bool
    Варианты:
  • нет
  • да ←
Если no, сертификаты SSL не будут проверяться. Это следует использовать только на сайтах, контролируемых лично, с использованием самозаверяющих сертификатов.
version
Номер версии плагина.
Если этот параметр указан, все зависимости плагина должны быть установлены вручную.
Это может занять больше времени для проверки, что установлена правильная версия. Это особенно актуально, если указан определённый номер версии.
Приведите версию в кавычки, чтобы предотвратить интерпретацию значения как числа с плавающей точкой. Например, если 1.20 было бы без кавычек, оно стало бы 1.2.
with_dependencies
bool
    Варианты:
  • нет
  • да ←
Определяет, устанавливать ли зависимости плагина.
Этот параметр вступает в силу только если version не определён.

Примечания

Примечание

  • Установка плагина должна выполняться от имени root или того же пользователя, который владеет файлами плагина на диске. Только если плагин ещё не установлен и не указана версия, выполняется установка через API, которая требует только данных учетной записи веб-интерфейса.
  • Необходимо уведомить обработчик или вызвать модуль service для перезапуска службы Jenkins после установки нового плагина.
  • Фиксация работает только если плагин установлен и служба Jenkins была успешно перезапущена после установки плагина.
  • Запуск модуля удалённо путём изменения параметра url для указания на сервер Jenkins невозможен. Модуль должен использоваться на хосте, где работает Jenkins, так как ему нужен прямой доступ к файлам плагина.
  • Параметр params был удалён в Ansible 2.5 из-за обхода обработки параметров Ansible

Примеры

- name: Install plugin
  jenkins_plugin:
    name: build-pipeline-plugin

- name: Install plugin without its dependencies
  jenkins_plugin:
    name: build-pipeline-plugin
    with_dependencies: no

- name: Make sure the plugin is always up-to-date
  jenkins_plugin:
    name: token-macro
    state: latest

- name: Install specific version of the plugin
  jenkins_plugin:
    name: token-macro
    version: "1.15"

- name: Pin the plugin
  jenkins_plugin:
    name: token-macro
    state: pinned

- name: Unpin the plugin
  jenkins_plugin:
    name: token-macro
    state: unpinned

- name: Enable the plugin
  jenkins_plugin:
    name: token-macro
    state: enabled

- name: Disable the plugin
  jenkins_plugin:
    name: token-macro
    state: disabled

- name: Uninstall plugin
  jenkins_plugin:
    name: build-pipeline-plugin
    state: absent

#
# Example of how to authenticate
#
- name: Install plugin
  jenkins_plugin:
    name: build-pipeline-plugin
    url_username: admin
    url_password: p4ssw0rd
    url: http://localhost:8888

#
# Example of a Play which handles Jenkins restarts during the state changes
#
- name: Jenkins Master play
  hosts: jenkins-master
  vars:
    my_jenkins_plugins:
      token-macro:
        enabled: yes
      build-pipeline-plugin:
        version: "1.4.9"
        pinned: no
        enabled: yes
  tasks:
    - name: Install plugins without a specific version
      jenkins_plugin:
        name: "{{ item.key }}"
      register: my_jenkins_plugin_unversioned
      when: >
        'version' not in item.value
      with_dict: "{{ my_jenkins_plugins }}"

    - name: Install plugins with a specific version
      jenkins_plugin:
        name: "{{ item.key }}"
        version: "{{ item.value['version'] }}"
      register: my_jenkins_plugin_versioned
      when: >
        'version' in item.value
      with_dict: "{{ my_jenkins_plugins }}"

    - name: Initiate the fact
      set_fact:
        jenkins_restart_required: no

    - name: Check if restart is required by any of the versioned plugins
      set_fact:
        jenkins_restart_required: yes
      when: item.changed
      with_items: "{{ my_jenkins_plugin_versioned.results }}"

    - name: Check if restart is required by any of the unversioned plugins
      set_fact:
        jenkins_restart_required: yes
      when: item.changed
      with_items: "{{ my_jenkins_plugin_unversioned.results }}"

    - name: Restart Jenkins if required
      service:
        name: jenkins
        state: restarted
      when: jenkins_restart_required

    - name: Wait for Jenkins to start up
      uri:
        url: http://localhost:8080
        status_code: 200
        timeout: 5
      register: jenkins_service_status
      # Keep trying for 5 mins in 5 sec intervals
      retries: 60
      delay: 5
      until: >
         'status' in jenkins_service_status and
         jenkins_service_status['status'] == 200
      when: jenkins_restart_required

    - name: Reset the fact
      set_fact:
        jenkins_restart_required: no
      when: jenkins_restart_required

    - name: Plugin pinning
      jenkins_plugin:
        name: "{{ item.key }}"
        state: "{{ 'pinned' if item.value['pinned'] else 'unpinned'}}"
      when: >
        'pinned' in item.value
      with_dict: "{{ my_jenkins_plugins }}"

    - name: Plugin enabling
      jenkins_plugin:
        name: "{{ item.key }}"
        state: "{{ 'enabled' if item.value['enabled'] else 'disabled'}}"
      when: >
        'enabled' in item.value
      with_dict: "{{ my_jenkins_plugins }}"

Возвращаемые значения

Общие возвращаемые значения описаны здесь, следующие поля уникальны для данного модуля:

Ключ Возвращаемое значение Описание
plugin
строка
успех
имя плагина

Пример:
build-pipeline-plugin
state
строка
успех
состояние целевого объекта после выполнения

Пример:
наличие


Статус

Этот модуль помечен как предварительный просмотр, что означает, что его интерфейс не гарантируется обратной совместимостью.

Обслуживание

Этот модуль помечен как сообщество, что означает, что его поддерживает сообщество Ansible. См. Техническую поддержку модулей для получения дополнительной информации.

Список других модулей, также поддерживаемых сообществом Ansible, см. здесь.

Автор

  • Jiri Tyr (@jtyr)

Подсказка

Если вы заметили какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/modules/jenkins_plugin_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API