Сопровождение контейнеров Fedora
Сопровождение слоёных образов
Слоёные образы в Fedora — это образы контейнеров, использующие базовый образ fedora или fedora-minimal. Containerfile (или Dockerfile) для этих образов поддерживаются в dist-git Fedora с использованием пространства имён контейнеров.
Вы можете поддерживать разные версии образа, используя ветки git. В dist-git каждый выпуск Fedora имеет свою ветку, например, Fedora 32 имеет ветку f32, Fedora 31 — ветку f31 и так далее. Ветка main используется для Fedora Rawhide — разрабатываемой версии Fedora.
Установка fedpkg
fedpkg используется для взаимодействия с инфраструктурой Fedora. Вы можете установить его с помощью следующей команды: ` $ sudo dnf install fedpkg `
Клонирование репозитория dist-git и сборка образа
Чтобы собрать слоёный образ с использованием системы сборки контейнеров Fedora, вам сначала нужно клонировать git-репозиторий образа с помощью fedpkg или git. Здесь репозиторий называется tools. Все репозитории контейнеров находятся в пространстве имён контейнеров в исходных кодах Fedora.
# Использование git с URL-адресом клонирования: $ git clone https://src.fedoraproject.org/container/tools.git
# Переход в репозиторий: $ cd tools && ls Dockerfile README.md root ```
Для запуска сборок необходимо пройти аутентификацию в системе сборки, для этого используется Kerberos
``` $ kinit username@FEDORAPROJECT.ORG Password for username@FEDORAPROJECT.ORG: ```
Теперь вы можете запустить сборку
``` $ fedpkg container-build Created task: 52510681 Task info: https://koji.fedoraproject.org/koji/taskinfo?taskID=52510681 Watching tasks (this may be safely interrupted)... 52510681 buildContainer (noarch): free ```
Вы получаете ссылку на задачу системы сборки, которая полезна в случае сбоя сборки, когда необходимо просмотреть журналы.
== Создание обновления контейнера
Чтобы создать обновление для образа контейнера, вы должны быть сопровождающим или со-сопровождающим этого образа. Для этого вы должны быть участником https://docs.fedoraproject.org/en-US/package-maintainers/Joining_the_Package_Maintainers/[группы упаковщиков] Fedora.
После создания сборки вам необходимо создать обновление в https://bodhi.fedoraproject.org/[системе обновлений Fedora].
После входа в веб-приложение создайте новое обновление. В новом обновлении используйте NVR (Имя-Версия-Выпуск) сборки контейнера для заполнения раздела "Builds". Затем добавьте описание и метаданные по мере необходимости и отправьте обновление.
Контейнер доступен в https://candidate-registry.fedoraproject.org/v2/_catalog?n=200[кандидатском реестре] Fedora для тестирования. Когда обновление достигнет стабильного состояния, оно станет доступно на https://registry.fedoraproject.org/[registry.fedoraproject.org].
== Открытие запроса на включение (Pull Request)
https://docs.fedoraproject.org/en-US/ci/pull-requests/[Запросы на включение в dist-git]
Want to help? Learn how to contribute to Fedora Docs ›