Spec-Zone.ru › Ansible 2.6

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

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

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

Обзор

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

Требования

Ниже перечислены требования к хосту, на котором выполняется этот модуль.

  • lxml
  • boto, если используется репозиторий S3 (s3://…)

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
artifact_id
обязательно
Координата maven artifactId
attributes
(добавлено в 2.3)
Атрибуты файла или каталога. Для получения поддерживаемых флагов см. справку man для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и в отображаемом выводе lsattr.

псевдонимы: attr
classifier
Координата maven classifier
dest
обязательно
Путь, куда должен быть записан артефакт
Если заданы права доступа к файлу или владельца, и целевой путь уже существует, они влияют на загружаемый файл
extension По умолчанию:
"jar"
Координата maven type/extension
group
Имя группы, которая должна владеть файлом/каталогом, как это подается в chown.
group_id
обязательно
Координата Maven groupId
keep_name
bool

(добавлено в 2.4)
    Варианты:
  • нет ←
  • да
Если yes, имя загруженного артефакта сохраняется, то есть номер версии остается частью имени.
Этот параметр имеет эффект только тогда, когда dest является каталогом и version установлено в latest.
mode
Режим файла или каталога. Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны указать ведущий ноль, чтобы парсер YAML Ansible понял, что это восьмеричное число (например, 0644 или 01777), или заключить его в кавычки (например, '644' или '0644'), чтобы Ansible получил строку и мог выполнить преобразование строки в число. Если вы передадите Ansible число без соблюдения этих правил, это будет интерпретировано как десятичное число, что приведёт к неожиданным результатам. С версии 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.
Используйте file://... если репозиторий локальный, добавлено в версии 2.6
selevel По умолчанию:
"s0"
Часть контекста файла SELinux. Это атрибут MLS/MCS, иногда известный как range. Функция _default работает так же, как для seuser.
serole
Роль в контексте файла SELinux, функция _default работает так же, как для seuser.
setype
Тип в контексте файла SELinux, функция _default работает так же, как для seuser.
seuser
Пользователь в контексте файла SELinux. По умолчанию будет использоваться политика системы, если применимо. Если задано _default, будет использоваться часть политики user, если она доступна.
state
    Варианты:
  • present ←
  • absent
Желаемое состояние артефакта
timeout
(добавлено в 2.3)
По умолчанию:
10
Устанавливает тайм-аут в секундах для попытки подключения
unsafe_writes
bool

(добавлено в 2.2)
    Варианты:
  • нет ←
  • да
Обычно этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованных чтений из целевых файлов, но иногда системы настроены или работают некорректно, что препятствует этому. Одним из примеров являются файлы, смонтированные в Docker; они не могут быть обновлены атомарно и могут обновляться только небезопасными способами.
Этот булевый параметр позволяет Ansible использовать небезопасные методы обновления файлов в тех случаях, когда у вас нет другого выбора. Имейте в виду, что это подвержено гонкам и может привести к повреждению данных.
username
Имя пользователя для аутентификации в репозитории Maven. Используйте ключ доступа AWS, если репозиторий размещен в S3

псевдонимы: aws_secret_key
validate_certs
bool

(добавлено в 1.9.3)
    Варианты:
  • нет
  • да ←
Если no, сертификаты SSL не будут проверены. Это следует устанавливать в no только в крайнем случае.
verify_checksum
(добавлено в 2.6)
    Варианты:
  • никогда
  • при загрузке ←
  • при изменении
  • всегда
Если never, контрольная сумма md5 никогда не будет загружена и проверена.
Если download, контрольная сумма md5 будет загружена и проверена только после загрузки артефакта. Это значение по умолчанию.
Если change, контрольная сумма md5 будет загружена и проверена, если целевой файл уже существует, чтобы проверить их идентичность. Это было поведением до версии 2.6. Поскольку контрольная сумма загружается до (возможно) загрузки артефакта, и поскольку некоторые репозиторные программы, действуя в качестве прокси/кеша, возвращают ошибку 404, если артефакт ещё не был помещен в кэш, это может привести к неожиданным сбоям. Если вам всё ещё нужно это, вы должны рассмотреть использование always вместо этого — если вы работаете с контрольной суммой, лучше использовать её для проверки целостности после загрузки.
always объединяет download и change.
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

# Download the latest version of the JUnit framework artifact from Maven local
- maven_artifact:
    group_id: junit
    artifact_id: junit
    dest: /tmp/junit-latest.jar
    repository_url: "file://{{ lookup('env','HOME') }}/.m2/repository"

Статус

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

Техническое обслуживание

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

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

Автор

  • Chris Schmidt (@chrisisbeef)

Подсказка

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

© 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/maven_artifact_module.html

Spec-Zone.ru

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