Обновления с одной сборкой
Первоначальный выпуск Rawhide Gating предназначен исключительно для обновлений с одной сборкой. Этот выпуск вступает в силу в июле 2019 г.
Что такое обновления с одной сборкой?
Обновления с одной сборкой — это обновления, содержащие одну сборку, которая не имеет тесной зависимости от других сборок и поэтому может безопасно обрабатываться изолированно.
Например, пакет rpms/pass — это простой bash-скрипт, поставляемый с некоторой документацией и утилитами (для emacs, vim или zsh). Для сборки он зависит от git, gnupg2, perl-generators и tree, а для запуска дополнительно от xclip. Он не зависит тесно от конкретной версии ни одного из них (только имеет минимально требуемую версию для tree). Он не полагается на какой-либо ABI, не требует пересборки при изменениях или обновлениях soname.
Пакеты такого стиля являются кандидатами для обновлений с одной сборкой. Их можно собирать и тестировать самостоятельно.
Как работает гейтинг обновлений с одной сборкой?
Обновления с одной сборкой легко гейтировать, так как их можно тестировать в изоляции от других сборок. То есть система CI может взять сборку, протестировать её, выполнить её гейтинг или пропустить её, не принимая во внимание никакие другие изменения (т. е. пакеты/сборки).
Рабочий процесс следующий:
-
Когда вы собираете ваш пакет для Rawhide, он попадает в тег Koji по умолчанию (тег кандидата:
-updates-candidate). -
Bodhi получит уведомление о попадании вашей сборки в этот тег Koji через нашу шину сообщений. Он автоматически создаст обновление для этой сборки от вашего имени. Обновление начнёт в статусе
Pending, а сборка будет перемещена в тег-signing-pending. -
RoboSignatory получает уведомление через нашу шину сообщений о том, что ваша сборка попала в этот тег, он берёт сборку, подписывает её и перемещает в тег
-updates-testing-pending. -
Bodhi получает уведомление через нашу шину сообщений о том, что ваша сборка подписана и перемещена в этот тег, он помечает сборку как подписанную и переводит обновление в статус
Testing. -
Тесты будут запущены, их результаты будут переданы в ResultsDB, который объявит эти результаты, что заставит Greenwave обратиться к вашему файлу
gating.yaml, чтобы проверить, выполнены ли все требуемые критерии этой сборки или нет. Если выполнены, Greenwave отправит сообщение в шину сообщений, объявляя своё решение. -
Bodhi будет слушать эти сообщения от Greenwave. Получив их, он поместит соответствующую сборку в финальный тег Koji (т. е. стабильный тег) и пометит обновление как
Stable.
На этом этапе ваша сборка попала в стабильный тег в Koji, следовательно, она доступна в buildroot для использования и опоры на неё кем угодно, а соответствующее обновление Bodhi было помечено как стабильное.
|
Обратите внимание, что то, что обновление является |
Want to help? Learn how to contribute to Fedora Docs ›
