Инструменты для CI/CD
Сломанный пайплайн обычно сводится к одной из немногих причин: YAML workflow со сбитым отступом, условное выражение, которое вычисляется не так, как ожидалось, расписание cron, чьи пять полей значат не то, что кажется на первый взгляд, или версия, которая должна выводиться из сообщений коммитов, а сейчас выбирается вручную. Эти инструменты проверяют YAML и выражения до того, как вы отправите коммит и будете ждать упавшего запуска.
Валидатор GitHub Actions и редактор GitLab CI проверяют два самых распространённых формата пайплайнов, находя ошибки в правилах и include раньше, чем о них сообщит сама платформа после старта запуска. Оценка выражений GitHub Actions вычисляет условия на тестовых переменных контекста — это единственный способ проверить выражение if: без реального запуска workflow. Для расписаний генератор cron-выражений показывает даты запусков по пятиполевому синтаксису, cron Jenkins объясняет диапазон хеша H, а генератор чейнджлога из коммитов превращает коммиты в версию, которую они подразумевают.
6 инструментов
Все инструменты категории «CI/CD»
-
Валидатор GitHub Actions
Валидируйте GitHub Actions workflow перед коммитом в репозиторий
-
Оценка выражений GitHub Actions
Протестируйте выражения GitHub Actions с переменными контекста
-
редактор GitLab CI
Проверить .gitlab-ci.yml на ошибки заданий и стадий с правилами по переменным
-
Генератор чейнджлога из коммитов
Рассчитайте версию, сгенерируйте чейнджлог и номер сборки
-
cron Jenkins
Разберите Jenkins H() выражения в расписание или наоборот
-
Генератор cron-выражений
Создайте cron расписание и проверьте даты и время запусков
Вопросы об инструментах категории «CI/CD»
GitHub вычисляет условия if: только во время реального запуска workflow, а это слишком медленно, если нужно просто проверить логику условия. Оценка выражений GitHub Actions вычисляет такие условия на тестовых переменных контекста, поэтому результат виден сразу, без запуска самого workflow в репозитории.
H — это хеш, а не фиксированное значение: Jenkins выбирает значение в заданном диапазоне на основе имени задачи, чтобы сборки не запускались все одновременно. Cron Jenkins строит такие выражения и объясняет получившийся диапазон распределения хеша.
При использовании conventional commits коммит с fix: повышает патч-версию, feat: — минорную, а breaking change — мажорную, исходя из префиксов типа коммита с прошлого релиза. Генератор чейнджлога из коммитов читает сообщения и вычисляет итоговое повышение версии и чейнджлог.