Модуль community.general.maven_artifact — загрузка артефакта из репозитория Maven
Примечание
Этот модуль входит в коллекцию community.general (версия 12.6.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install community.general. Для использования этого модуля необходимы дополнительные требования; подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: community.general.maven_artifact.
Краткое описание
- Загружает артефакт из репозитория Maven по указанным модулю координатам Maven.
- Может получать снимки или выпущенные версии артефакта и определять последнюю доступную версию, если версия не указана.
Требования
На хосте, на котором выполняется этот модуль, должны быть установлены следующие компоненты.
- lxml
- boto при использовании репозитория S3 (
s3://...)
Параметры
Параметр | Комментарии |
|---|---|
artifact_id string / обязательный | Координата Maven artifactId. |
attributes псевдонимы: attr string | Атрибуты, которые должен иметь созданный объект файловой системы. Сведения о поддерживаемых флагах см. на странице руководства для Строка должна содержать атрибуты в том же порядке, в каком они отображаются командой По умолчанию предполагается оператор |
checksum_alg string добавлено в community.general 3.2.0 | Если задано Если задано Варианты:
|
classifier string | Координата Maven classifier. По умолчанию: |
client_cert path добавлено в community.general 1.3.0 | Файл цепочки сертификатов в формате PEM для аутентификации SSL-клиента. Этот файл также может содержать ключ; если ключ включён в файл, параметр |
client_key path добавлено в community.general 1.3.0 | Файл в формате PEM с закрытым ключом для аутентификации SSL-клиента. Если |
dest path / обязательный | Путь, по которому следует сохранить артефакт. Если указаны режим файла или владелец, а целевой путь уже существует, эти параметры применяются к загруженному файлу. |
directory_mode string | Режим прав доступа файловой системы, рекурсивно применяемый к |
extension string | Координата Maven type/extension. По умолчанию: |
force_basic_auth boolean добавлено в community.general 0.2.0 |
Варианты:
|
group string | Имя группы, которой должен принадлежать объект файловой системы; оно передаётся команде Если значение не указано, используется текущая группа текущего пользователя; если же пользователь — root, может сохраняться прежний владелец. |
group_id string / обязательный | Координата Maven groupId. |
headers dictionary | Добавляет к запросу пользовательские HTTP-заголовки в формате hash/dict. |
keep_name boolean | Если задано Этот параметр действует только если Варианты:
|
mode any | Права доступа, которые должен иметь созданный объект файловой системы. Если вы привыкли к Если передать Ansible число, не соблюдая ни одно из этих правил, оно будет интерпретировано как десятичное, что приведёт к неожиданным результатам. Начиная с Ansible 1.8, режим можно указывать в символьном формате (например, Если Если Указание |
owner string | Имя пользователя, которому должен принадлежать объект файловой системы; оно передаётся команде Если значение не указано, используется текущий пользователь; если же пользователь — root, может сохраняться прежний владелец. Числовое имя пользователя будет считаться идентификатором пользователя, а не именем. Во избежание неоднозначности не используйте числовые имена пользователей. |
password псевдонимы: aws_secret_access_key string | Пароль для аутентификации в репозитории Maven. Если репозиторий размещён в S3, используйте секретный ключ доступа AWS. |
repository_url string | URL репозитория Maven, из которого следует загрузить артефакт. Используйте Используйте По умолчанию: |
selevel string | Уровень контекста объекта файловой системы SELinux. Это атрибут MLS/MCS, иногда называемый Если задано |
serole string | Роль контекста объекта файловой системы SELinux. Если задано |
setype string | Тип контекста объекта файловой системы SELinux. Если задано |
seuser string | Пользователь контекста объекта файловой системы SELinux. По умолчанию, если применимо, используется политика Если задано |
state string | Требуемое состояние артефакта. Варианты:
|
timeout integer | Задаёт время ожидания попытки подключения в секундах. По умолчанию: |
unredirected_headers list / элементы=string добавлено в community.general 5.2.0 | Список заголовков, которые не следует включать при перенаправлении. Эти заголовки передаются функции В ansible-core версии 2.12 и выше значение этого параметра по умолчанию — Полезно, если URL перенаправления не должен содержать конфиденциальные заголовки запроса. Требуется ansible-core версии 2.12 или выше. |
unsafe_writes boolean | Определяет, когда использовать атомарную операцию для предотвращения повреждения данных и несогласованного чтения целевого объекта файловой системы. По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных и несогласованного чтения целевых объектов файловой системы, однако некоторые системы настроены или просто работают таким образом, что это невозможно. Например, объекты файловой системы, подключённые в Docker, нельзя атомарно обновить из контейнера; их можно записать только небезопасным способом. Этот параметр позволяет Ansible перейти к небезопасным способам обновления объектов файловой системы, если атомарные операции завершаются ошибкой (но не заставляет Ansible выполнять небезопасную запись). ВАЖНО! Небезопасная запись подвержена состояниям гонки и может привести к повреждению данных. Варианты:
|
username псевдонимы: aws_secret_key string | Имя пользователя для аутентификации в репозитории Maven. Если репозиторий размещён в S3, используйте секретный ключ AWS. |
validate_certs boolean | Если задано Варианты:
|
verify_checksum string | Если задано Если задано Если задано
Варианты:
|
version string | Координата Maven version. Не может использоваться одновременно с |
version_by_spec string добавлено в community.general 0.2.0 | Диапазоны версий зависимостей Maven. Сведения о поддерживаемых диапазонах версий см. на странице https://cwiki.apache.org/confluence/display/MAVENOLD/Dependency+Mediation+and+Conflict+Resolution. Тип диапазона Не может использоваться одновременно с |
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: нет | Может выполняться в режиме |
diff_mode | Поддержка: нет | В режиме сравнения возвращает сведения об изменениях (или о возможных изменениях в |
Примеры
- name: Download the latest version of the JUnit framework artifact from Maven Central
community.general.maven_artifact:
group_id: junit
artifact_id: junit
dest: /tmp/junit-latest.jar
- name: Download JUnit 4.11 from Maven Central
community.general.maven_artifact:
group_id: junit
artifact_id: junit
version: 4.11
dest: /tmp/junit-4.11.jar
- name: Download an artifact from a private repository requiring authentication
community.general.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
- name: Download an artifact from a private repository requiring certificate authentication
community.general.maven_artifact:
group_id: com.company
artifact_id: library-name
repository_url: 'https://repo.company.com/maven'
client_cert: /path/to/cert.pem
client_key: /path/to/key.pem
dest: /tmp/library-name-latest.jar
- name: Download a WAR File to the Tomcat webapps directory to be deployed
community.general.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
- name: Keep a downloaded artifact's name, i.e. retain the version
community.general.maven_artifact:
version: latest
artifact_id: spring-core
group_id: org.springframework
dest: /tmp/
keep_name: true
- name: Download the latest version of the JUnit framework artifact from Maven local
community.general.maven_artifact:
group_id: junit
artifact_id: junit
dest: /tmp/junit-latest.jar
repository_url: "file://{{ lookup('env','HOME') }}/.m2/repository"
- name: Download the latest version between 3.8 and 4.0 (exclusive) of the JUnit framework artifact from Maven Central
community.general.maven_artifact:
group_id: junit
artifact_id: junit
version_by_spec: "[3.8,4.0)"
dest: /tmp/
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/general/maven_artifact_module.html