Размещение коллекций#
Размещение коллекций в Private Automation Hub состоит из следующих этапов:
Загрузка.
На этом этапе версия коллекции с рабочей станции разработчика загружается в хранилище Private Automation Hub и попадает в один из репозиториев. Загрузку можно выполнить следующими способами:
Согласование.
Этот этап обязателен, если версия коллекции загружена в репозиторий с конвейером задач Промежуточный вариант (Staging).
Публикация.
Если версия коллекции прошла согласование, она размещается в репозитории с конвейером задач Согласовано (Approved) и становится доступной пользователям.
Версии коллекции, загруженные в репозитории с конвейером Ничего (None), доступны пользователям сразу.
Подробности о жизненном цикле коллекций см. в соответствующей секции.
Настройка Private Automation Hub#
Примечание
Для выполнения этого этапа необходимы привилегии администратора Private Automation Hub.
Для каждой команды разработчиков коллекций Ansible выполните следующие действия:
Создайте пространство имен. Для этого следуйте инструкции.
Создайте приватный репозиторий. Для этого следуйте инструкции.
Перед началом работы#
Авторизуйтесь в Private Automation Hub с учетной записью пользователя-разработчика коллекций Ansible и выполните следующие действия:
Создайте токен для доступа к Private Automation Hub.
Для этого следуйте инструкции.
Используйте утилиту
ansible-galaxyдля создания архива с файлами коллекции. Для этого в корневом каталоге проекта выполните команду:ansible-galaxy collection build
При успешной сборке
ansible-galaxyсоздает в корневом каталоге проекта архив с расширением.tar.gz.
Загрузка версии коллекции с помощью ansible-galaxy#
Чтобы загрузить версию коллекции в Private Automation Hub с помощью ansible-galaxy, выполните команду:
ansible-galaxy collection publish \
--server <PAH_URI>/api/galaxy/<repository> \
--token <token> \
/path/to/collection.tar.gz
Здесь:
<PAH_URI> – URI Private Automation Hub.
<repository> – название репозитория.
Если название репозитория не указано, коллекция загружается в промежуточный репозиторий по умолчанию.
Важно
Нельзя загружать версии коллекций напрямую в репозитории с конвейером задач Согласовано (Approved).
<token> – токен для доступа к Private Automation Hub.
/path/to/collection.tar.gz– путь к архиву с версией коллекции.
Загрузку версий коллекций можно упростить, если указать настройки репозиториев в конфигурационном файле ansible.cfg:
Создайте секцию
[galaxy]и добавьте в нее переменнуюserver_list, в значении которой укажите названия репозиториев, например:[galaxy] server_list = private_hub_publish, private_hub_testing, dev_ops_hub
Здесь
private_hub_publish,private_hub_testingиdev_ops_hub– названия репозиториев.Создайте секции, содержащие настройки для каждого репозитория, например:
[galaxy_server.private_hub_publish] url = https://private-hub.example.com/api/galaxy/publish/ token = <token_private_hub> [galaxy_server.private_hub_testing] url = https://private-hub.example.com/api/galaxy/testing/ token = <token_private_hub> [galaxy_server.dev_ops_hub] url = https://dev-ops-hub.example.com/api/galaxy/ token = <token_dev_ops_hub>
Здесь в переменных
urlуказаны ссылки на репозитории, при этом:Для Private Automation Hub
https://private-hub.example.com/указаны настройки для репозиториевpublishиtesting. Это позволяет использоватьansible-galaxyдля прямой загрузки версий коллекций в указанные репозитории. Доступ к обоим репозиториям осуществляется с использованием одного и того же токена <token_private_hub>.Для Private Automation Hub
https://dev-ops-hub.example.com/ссылка не содержит названия репозитория. Все загружаемые версии коллекций будут автоматически попадать в промежуточный репозиторий по умолчанию. Доступ к репозиторию осуществляется с использованием токена <token_dev_ops_hub>.
Для загрузки версии коллекции выполните команду:
ansible-galaxy collection publish --server <repository_name> /path/to/collection.tar.gz
Здесь <repository_name> – название репозитория, указанное в
ansible.cfg.Совет
Если в
ansible.cfgзаданы настройки только для одного репозитория, указывать его в аргументахansible-galaxyне обязательно:ansible-galaxy collection publish /path/to/collection.tar.gz
Загрузка версии коллекции через веб-интерфейс#
Чтобы загрузить в Private Automation Hub версию коллекции через веб-интерфейс, воспользуйтесь соответствующей инструкцией.
Публикация#
Если версия коллекции загружена в репозиторий с конвейером задач Промежуточный вариант (Staging), выполните согласование согласно инструкции.
Если версия коллекции загружена в репозиторий с конвейером задач Ничего (None), дополнительных действий не требуется.