Spec-Zone.ru › Ansible 2.4

maven_artifact - Загрузка артефакта из репозитория Maven

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

  • Обзор
  • Требования (к хосту, на котором выполняется модуль)
  • Параметры
  • Примеры
    • Статус

Обзор

  • Загружает артефакт из репозитория Maven, используя координаты Maven, предоставленные модулю.
  • Может извлекать релизные или snapshot-версии артефакта и разрешит последнюю доступную версию, если она не указана.

Требования (к хосту, на котором выполняется модуль)

  • python >= 2.6
  • lxml
  • boto, если используется репозиторий S3 (s3://...)

Параметры

параметр обязательный по умолчанию варианты комментарии
artifact_id
да
Координата Maven artifactId
attributes
(добавлен в 2.3)
нет None
Атрибуты, которые должен иметь файл или директория. Чтобы получить поддерживаемые флаги, см. справку chattr для целевой системы. Эта строка должна содержать атрибуты в том же порядке, что и в выводе lsattr.
псевдонимы: attr
classifier
нет
Координата Maven classifier
dest
да
Путь, куда должен быть записан артефакт
Если указаны режим файла или права владения и целевой путь уже существует, они влияют на загружаемый файл
extension
нет jar
Координата Maven type/extension
group
нет
Имя группы, которая должна владеть файлом/директорией, как для команды chown.
group_id
да
Координата Maven groupId
keep_name
(добавлен в 2.4)
нет нет
  • да
  • нет
Если yes, имя загруженного артефакта сохраняется, т.е. номер версии остается частью имени.
Этот параметр действует только в случае, если dest является директорией и version установлено в latest.
mode
нет
Режим файла или директории. Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами (например, 0644). Пропуск ведущего нуля может привести к нежелательным результатам. Начиная с версии 1.8, режим может быть указан как символический (например, u+rwx или u=rw,g=r,o=r).
owner
нет
Имя пользователя, который должен владеть файлом/директорией, как для команды chown.
password
нет
Пароль для аутентификации в репозитории Maven. Используйте ключ доступа к секретам AWS, если репозиторий размещен в S3.
псевдонимы: aws_secret_access_key
repository_url
нет http://repo1.maven.org/maven2
URL репозитория Maven для загрузки.
Используйте s3://... если репозиторий размещен в Amazon S3, добавлено в версии 2.2.
selevel
нет s0
Часть контекста файла SELinux, связанная с уровнем. Это атрибут MLS/MCS, иногда известный как range. _default функциональность работает так же, как и для seuser.
serole
нет
Часть контекста файла SELinux, связанная с ролью. _default функциональность работает так же, как и для seuser.
setype
нет
Часть контекста файла SELinux, связанная с типом. _default функциональность работает так же, как и для seuser.
seuser
нет
Часть контекста файла SELinux, связанная с пользователем. Будет использоваться по умолчанию, если применимо. Если установлено в _default, будет использоваться часть политики user, если она доступна.
state
да present
  • present
  • absent
Желаемое состояние артефакта
timeout
(добавлен в 2.3)
нет 10
Устанавливает таймаут в секундах для попытки подключения
unsafe_writes
(добавлен в 2.2)
нет
  • да
  • нет
Обычно этот модуль использует атомарные операции, чтобы предотвратить повреждение данных или несогласованные чтения из целевых файлов. Иногда системы настроены или просто не работают таким образом, что это невозможно. Один из примеров - файлы, смонтированные через docker. Их нельзя обновлять атомарно, а только не безопасным способом.
Этот булевый параметр позволяет Ansible вернуться к небезопасным методам обновления файлов в тех случаях, когда нет другого выбора. Имейте в виду, что это подвержено гонкам и может привести к повреждению данных.
username
нет
Имя пользователя для аутентификации в репозитории Maven. Используйте ключ доступа к секретам AWS, если репозиторий размещен в S3.
псевдонимы: aws_secret_key
validate_certs
(добавлен в 1.9.3)
нет да
  • да
  • нет
Если no, сертификаты SSL не будут проверяться. Это следует установить только в no случае, если нет других вариантов.
version
нет latest
Координата Maven version

Примеры

# Download the latest version of the JUnit framework artifact from Maven Central
- maven_artifact:
    group_id: junit
    artifact_id: junit
    dest: /tmp/junit-latest.jar

# Download JUnit 4.11 from Maven Central
- maven_artifact:
    group_id: junit
    artifact_id: junit
    version: 4.11
    dest: /tmp/junit-4.11.jar

# Download an artifact from a private repository requiring authentication
- maven_artifact:
    group_id: com.company
    artifact_id: library-name
    repository_url: 'https://repo.company.com/maven'
    username: user
    password: pass
    dest: /tmp/library-name-latest.jar

# Download a WAR File to the Tomcat webapps directory to be deployed
- maven_artifact:
    group_id: com.company
    artifact_id: web-app
    extension: war
    repository_url: 'https://repo.company.com/maven'
    dest: /var/lib/tomcat7/webapps/web-app.war

# Keep a downloaded artifact's name, i.e. retain the version
- maven_artifact:
    version: latest
    artifact_id: spring-core
    group_id: org.springframework
    dest: /tmp/
    keep_name: yes

Статус

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

Для получения помощи в разработке модулей, если вы заинтересованы, пожалуйста, ознакомьтесь с Информация о сообществе и вклад, Тестирование Ansible и Разработка модулей.

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

Spec-Zone.ru

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