Spec-Zone.ru › Ansible 2.9

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

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

Описание

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

Требования

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

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
artifact_id
- / обязательно
Координата Maven artifactId
attributes
строка
Атрибуты, которые должны иметь результирующий файл или директория.
Чтобы узнать поддерживаемые флаги, см. страницу руководства для 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, помните, что режимы фактически являются восьмеричными числами. Вы должны либо добавить ведущую ноль, чтобы Ansible's YAML-парсер знал, что это восьмеричное число (например, 0644 или 01777) или заключить его в кавычки (например, '644' или '1777') чтобы Ansible получил строку и выполнил собственное преобразование из строки в число.
Передача 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, будет использоваться часть политики level, если она доступна.
serole
строка
Часть SELinux контекста файла, роль.
Если установлено в _default, будет использоваться часть политики role, если она доступна.
setype
строка
Часть SELinux контекста файла, тип.
Если установлено в _default, будет использоваться часть политики type, если она доступна.
seuser
строка
Часть SELinux контекста файла, пользователь.
По умолчанию используется политика system, где это применимо.
Если установлено в _default, будет использоваться часть политики user, если она доступна.
state
-
    Варианты:
  • наличие ←
  • отсутствие
Желаемое состояние артефакта
timeout
-
По умолчанию:
10
Устанавливает таймаут в секундах для попытки подключения
unsafe_writes
логическое
    Варианты:
  • нет ←
  • да
Влияет на использование атомарной операции для предотвращения повреждения данных или несогласованного чтения из целевого файла.
По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения из целевых файлов, но иногда системы настроены или просто неисправны таким образом, что это невозможно. Одним примером являются файлы, смонтированные в Docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только неатомарным способом.
Этот параметр позволяет Ansible перейти к небезопасным методам обновления файлов, когда атомарные операции терпят неудачу (однако он не заставляет Ansible выполнять небезопасные записи).
ВАЖНО! Небезопасные записи подвержены гонкам и могут привести к повреждению данных.
username
-
Имя пользователя для аутентификации в Maven репозитории. Используйте AWS секретный ключ, если репозиторий размещен на S3.

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

Авторы

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

Spec-Zone.ru

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