amarao: (Default)
[personal profile] amarao
А вот у меня есть такой запрос: я хочу иметь CI-подобный инструмент (задачи/автоматически вычисляемые зависимости порядка выполнения, параметры, matrix и т.д.), но без сервера. Чтобы не было веб-морды и сервера, а было что-то вида

`ci-run ci.yaml` (в чём эта штука выполняется - следующий вопрос). И чтобы из ci.yaml автоматически вытекало всё остальное. Логи на экран, что выполнять, статусы, зависимости, cleanup и т.д.

Разумеется, opensource. Что-то мне в голову ничего не приходит.

Date: 2021-07-05 07:45 pm (UTC)
yurikhan: (Default)
From: [personal profile] yurikhan

Автоматически вычисляемые зависимости порядка выполнения без сервера называются make.

Date: 2021-07-06 06:49 am (UTC)
yurikhan: (Default)
From: [personal profile] yurikhan

Если у меня этап testing зависит от этапа create_vms, а этап deploy от этапа testing, то как я это в make'е опишу так, чтобы при повторном прогоне он бы знал какие этапы делать?

Ну, впихиваем имеющийся workflow в парадигму зависимости файлов. Если у этапа нет естественного артефакта — создаём искусственный.

create_vms.stamp: $(vm_deps)
»   create_vms
»   touch $@
testing.stamp: create_vms.stamp $(test_deps)
»   run_tests
»   touch $@
deploy.stamp: testing.stamp $(deploy_deps)
»   deploy
»   touch $@

Местами-временами ещё может быть нужно в имена stamp’ов включать какие-нибудь параметры, чтоб, например, этап тестирования проходил в уже развёрнутой виртуалке с определённого билда, но если виртуалка развёрнута с другого билда, то она переразворачивалась.

Edited Date: 2021-07-06 06:55 am (UTC)

Profile

amarao: (Default)
amarao

February 2026

S M T W T F S
123456 7
8910111213 14
15161718192021
22232425262728

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 25th, 2026 02:40 pm
Powered by Dreamwidth Studios