jenkins_plugin – Добавление или удаление плагина Jenkins
Новая версия 2.2.
Описание
- Модуль Ansible, который помогает управлять плагинами Jenkins.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| client_cert - | Файл цепочки сертификатов в формате PEM, используемый для аутентификации клиента по протоколу SSL. Этот файл также может содержать ключ, и если ключ включен, client_key не требуется. | |
| client_key - | Файл в формате PEM, содержащий ваш закрытый ключ, используемый для аутентификации клиента по протоколу SSL. Если client_cert содержит как сертификат, так и ключ, этот параметр не требуется. | |
| force boolean |
| Если yes не получить кэшированную копию.псевдонимы: жаждущий |
| force_basic_auth boolean |
| Указанные учетные данные с помощью url_username и url_password должны передаваться в HTTP-заголовке. |
| group - | По умолчанию: "jenkins" | Имя группы Jenkins в ОС. |
| http_agent - | По умолчанию: "ansible-httpget" | Заголовок для идентификации, как правило, отображается в журналах веб-сервера. |
| jenkins_home - | По умолчанию: "/var/lib/jenkins" | Домашний каталог пользователя Jenkins. |
| mode - | По умолчанию: "0644" | Режим файла, применяемый к плагинам с версиями. |
| name - / обязательно | Название плагина. | |
| owner - | По умолчанию: "jenkins" | Имя пользователя Jenkins в ОС. |
| state - |
| Желаемое состояние плагина. Если latest установлен, проверка на наличие новой версии будет выполняться каждый раз. Это подходит для того, чтобы поддерживать плагин в актуальном состоянии. |
| timeout - | По умолчанию: 30 | Таймаут соединения с сервером в секундах. |
| updates_expiration - | По умолчанию: 86400 | Количество секунд, после которых будет загружена новая копия файла update-center.json. Это используется, чтобы избежать необходимости загрузки плагина для расчёта контрольной суммы, когда latest указан.Установите значение в 0, если файл кэша не должен использоваться. В этом случае файл плагина всегда будет загружен для расчета контрольной суммы, когда latest указан. |
| updates_url - | По умолчанию: "https://updates.jenkins.io" | 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 boolean |
| Если no, прокси не будет использован, даже если он определён в переменной среды на целевых хостах. |
| validate_certs boolean |
| Если no, сертификаты SSL не будут проверены. Это следует использовать только на контролируемых сайтах, использующих самозаверяемые сертификаты. |
| version - | Номер версии плагина. Если этот параметр указан, все зависимости плагина должны быть установлены вручную. Это может занять больше времени для проверки того, что установлена правильная версия. Это особенно верно, если указан конкретный номер версии. Приведите версию в кавычки, чтобы предотвратить интерпретацию значения как числа с плавающей точкой. Например, если 1.20 будет без кавычек, он превратится в 1.2. | |
| with_dependencies boolean |
| Определяет, нужно ли устанавливать зависимости плагина. Этот параметр имеет силу только в том случае, если 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. [сообщество]
Авторы
- 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.7/modules/jenkins_plugin_module.html