Spec-Zone.ru › Ansible 2.8

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

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

  • Обзор
  • Требования
  • Параметры
  • Примеры
  • Статус

Обзор

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

Требования

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

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

Параметры

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

псевдонимы: attr
classifier
-
Координата maven classifier
dest
- / обязательно
Путь, куда должен быть записан артефакт
Если указаны права доступа к файлу или владельцы, и целевой путь уже существует, они влияют на загружаемый файл
extension
-
По умолчанию:
"jar"
Координата maven type/extension
group
строка
Имя группы, которая должна владеть файлом/директорией, как передаётся в chown.
group_id
- / обязательно
Координата Maven groupId
headers
словарь
добавлено в 2.8
Добавление пользовательских HTTP-заголовков к запросу в формате хеш/словаря.
keep_name
логическое
добавлено в 2.4
    Варианты:
  • нет ←
  • да
Если yes, имя загружаемого артефакта сохраняется, т. е. номер версии остается его частью.
Этот параметр действует только когда dest является директорией, и version установлено в latest.
mode
строка
Права доступа, которые должен иметь результирующий файл или директория.
Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны либо добавить ведущую цифру 0, чтобы парсер YAML Ansible знал, что это восьмеричное число (как 0644 или 01777), либо заключить его в кавычки (как '644' или '1777'), чтобы Ansible получил строку и смог выполнить преобразование строки в число.
Если вы передадите Ansible число без выполнения одного из этих правил, в результате получится десятичное число, которое приведёт к непредвиденным результатам.
Начиная с Ansible 1.8, режим может быть указан в символическом формате (например, u+rwx или u=rw,g=r,o=r).
owner
строка
Имя пользователя, который должен владеть файлом/директорией, как передаётся в chown.
password
-
Пароль для аутентификации в Maven Repository. Используйте секретный ключ доступа AWS, если репозиторий размещён на S3.

псевдонимы: aws_secret_access_key
repository_url
-
По умолчанию:
"http://repo1.maven.org/maven2"
URL Maven Repository для загрузки.
Используйте s3://... если репозиторий размещён на Amazon S3, добавлено в версии 2.2.
Используйте file://... если репозиторий локальный, добавлено в версии 2.6
selevel
строка
По умолчанию:
"s0"
Часть контекста SELinux файла, относящаяся к уровню.
Это атрибут MLS/MCS, иногда известный как range.
Если установлено _default, будет использоваться часть политики level, если доступна.
serole
строка
Часть контекста SELinux файла, относящаяся к роли.
Если установлено _default, будет использоваться часть политики role, если доступна.
setype
строка
Часть контекста SELinux файла, относящаяся к типу.
Если установлено _default, будет использоваться часть политики type, если доступна.
seuser
строка
Часть контекста SELinux файла, относящаяся к пользователю.
По умолчанию используется политика system, если применимо.
Если установлено _default, будет использоваться часть политики user, если доступна.
state
-
    Варианты:
  • наличие ←
  • отсутствует
Желаемое состояние артефакта
timeout
-
добавлено в 2.3
По умолчанию:
10
Устанавливает таймаут в секундах для попытки подключения.
unsafe_writes
логическое
добавлено в 2.2
    Варианты:
  • нет ←
  • да
Влияние на использование атомарной операции для предотвращения повреждения данных или несогласованных чтений из целевого файла.
По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованных чтений из целевых файлов, но иногда системы настраиваются или просто неисправны так, что это не возможно. Одним из примеров являются файлы, смонтированные в Docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только небезопасным образом.
Этот параметр позволяет Ansible переключаться на небезопасные методы обновления файлов, когда атомарные операции не удаются (однако, он не заставляет Ansible выполнять небезопасные записи).
ВАЖНО! Небезопасные записи подвержены гонкам и могут привести к повреждению данных.
username
-
Имя пользователя для аутентификации в Maven Repository. Используйте секретный ключ AWS, если репозиторий размещён на S3.

псевдонимы: aws_secret_key
validate_certs
логическое
    Варианты:
  • нет
  • да ←
Если 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. [community]

Авторы

  • 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.8/modules/maven_artifact_module.html

Spec-Zone.ru

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