Week 03. Buildah (Slurm Навыкум "Build Containers!")
Задача
Разработчики нашей команды на еженедельных "посиделках" решили, что "Docker уже не торт" и решили перейти на что-то более модное и современное
Из более-менее модного и современного они вспомнили только про Podman и Buildah (якобы и без рута там можно работать, и без демона*)
Примечание*: мы приводим доводы так, как они есть
Идеи еженедельных "посиделок" – это, конечно, круто, но для начала же надо вообще попробовать, насколько предлагаемый инструмент позволяет решать хотя бы типовые задачи
Как вы понимаете, проверить "доверили" тем, кто "шарит в контейнерах", т.е. нам (ну или вам )
Что нужно сделать
- Возьмите типовой веб-сервис на Go из задачи Scratch
- Напишите скрипт сборки Buildah (файл
build.sh
) для Multi-Stage сборки - Напишите скрипт публикации собранного образа (файл
publish.sh
) - Соберите и опубликуйте с помощью Buldah ваш образ
- Удостоверьтесь*, что образ действительно работает (и через Podman, и, самое важное, через Docker)
- В файле
OPINION.md
(репозитория) опишите 3 аргумента "ЗА" использования Buildah (если они есть, конечно же) и 3 "Против"
Важно: сборка и публикация должна быть описана в разных файлах!
Примечание*: этот пункт не обязательно выполнять в рамках GitHub Actions
Спойлеры
Спойлеры смотреть не хорошо 😈!
В репозитории Buildah, конечно же, уже есть готовые примеры (в том числе для Multi-Stage сборки)
Требования
- Всё должно быть оформлено в виде публичного репозитория на GitHub
- Вся сборка образов должна проходить через GitHub Actions
- Образ должен выкладываться в GitHub Container Registry (GHCR)
К текущему заданию дополнительно предъявляются требования:
- Buildah
- Multi-Stage
- Нельзя использовать
Dockerfile