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