Я хочу собирать миниатюрные livecd образы с помощью CI/CD, поэтому у меня как говорится встал вопрос. Как собираются крупные дистрибутивы аля debian или ubuntu?
Как это вижу я:
где-то в гитлабе хранятся исходники, потом через ci/cd собирается iso образ и пушится на релиз сервер. Но вот только как это происходит? iso билдится где-то в контейнере? как собирается новый релиз? а главное чем? должен же быть какой-то автоматизированный билдер.
Я нигде не могу найти примера как собирать дистрибутив из исходников в ci/cd. Везде одни примеры с archiso или ему подобных систем.
Было бы неплохо иметь возможность собирать минимально рабочий дистрибутив в docker, podman или даже vagrant контейнере. Как вариант можно засунуть buildroot в контейнер, но это костыль как по мне.
Хочется иметь флоу аля:
пушнул код в ветку –> тригернулся пайплайн –> собрался nightly build iso
сделал релиз тег –> тригернулся пайплайн –> собрался релиз
Может есть какой-то признанный индустрией стандарт сборки или типа того? Как это работает у больших мальчиков?