Spec-Zone.ru › Ansible 2.7

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
boolean
добавлен в 2.4
    Варианты:
  • нет ←
  • да
Если yes, имя загруженного артефакта сохраняется, т.е. номер версии остается частью имени.
Этот параметр действует только когда dest является каталогом и version установлено в latest.
mode
-
Режим файла или каталога. Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны либо добавить ведущую нуль, чтобы Ansible's YAML-парсер знал, что это восьмеричное число (например, 0644 или 01777) либо заключить его в кавычки (например, '644' или '1777'). 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 file context. Это атрибут 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
boolean
добавлен в 2.2
    Варианты:
  • нет ←
  • да
По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованных чтений из целевых файлов, но иногда системы настраиваются или просто выходят из строя так, что это невозможно. Одним примером являются смонтированные файлы docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только небезопасным способом.
Этот параметр позволяет Ansible перейти к небезопасным методам обновления файлов, когда атомарные операции завершаются неудачно (однако, он не заставляет Ansible выполнять небезопасные записи). ВАЖНО! Небезопасные записи подвержены гонкам и могут привести к повреждению данных.
username
-
Имя пользователя для аутентификации в репозитории Maven. Используйте AWS секретный ключ доступа, если репозиторий размещен на S3

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

Spec-Zone.ru

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