Не могу не возвратиться к теме CI. Я запусттил у себя ещё одну итерацию сборщика slackbuild-ов. На сей раз он не на основе Jenkins-CI, теперь это груда компонентов.

Gitea - веб-морда для git-а, умеет в вебхуки.

Webhook - ловит хуки и согласно полученным данным дёргает оболочку-визуализатор процесса сборки.

Laminar-CI - визуализатор сборок. Кроме сбора некоей статистики успешности по разным сборкам, также запускает .run скрипты, которые и производят сборку.

Сама сборка происходит в docker-контейнерах, где для каждого пакета создаётся чистое окружение.

Процесс запуска всей этой истории растянулся почти на 5 месяцев. Не было стимула всё это делать. Дело осложнялось тем, что все компоненты и процессы надо было хорошенько обмазать и склеить скриптами. Причём не абы как, что чтобы оно и работало правильно и валилось правильно.

В результате была написана простенькая api, которая уеет генерировать метаданные для репозитория и умеет в аплод файлов.

Кроме того пришлось написать сборочный скрипт который не только принимает и обрабатывает информацию о том что и как собрать, но и загружает результат в репозиторий и толкает процесс перегенерации метаданных. Но основная идея это скрипта в том, чтобы корректно ломаться с поясняющими суть поломки сообщениями.

И по пути написались ещё пара собпровождающих скриптов, которые пока не нашли своего отражения в api.

Next Post