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 | |
| keep_name (добавлен в 2.4) |
| Если yes, имя загружаемого артефакта сохраняется, т.е. номер версии остается частью имени.Этот параметр действует только тогда, когда dest является каталогом и version установлено в latest. |
| mode | По умолчанию: нет | Режим файла или каталога. Для тех, кто привык к /usr/bin/chmod, помните, что режимы — это фактически восьмеричные числа (например, 0644 или 01777). Пропуск ведущего нуля может привести к непредвиденным результатам. Начиная с версии 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 обязательно |
| Желаемое состояние артефакта |
| 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
Статус
Этот модуль помечен как превью, что означает, что он не гарантирует обратную совместимость.
Автор
- 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.5/modules/maven_artifact_module.html