Сопровождение контейнеров 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]