Тестируете ли вы свои CI/CD-скрипты?

Тестируете ли вы свои CI/CD-скрипты?
Тестируете ли вы свои CI/CD-скрипты? - cedrikwesche @ Unsplash

Принято ли писать тесты для CI/CD-скриптов?

Предыстория: Некоторые задания/скрипты CI/CD с годами стали довольно сложными (новые функции, крайние случаи), и я считаю, что было бы полезно переписать их, например, на python вместо bash. Однако, поскольку эти скрипты не имеют тестов, их переписывание определенно будет сопряжено с ошибками. Поэтому вопрос выше. Бонусные очки за любые ссылки.

Да, мы тестируем наши CI/CD-скрипты, но эти тесты в основном выполняются вручную.

Наши CI/CD-скрипты состоят из двух частей. Первая часть содержит (иногда сложную) логику того, как собрать программное обеспечение, документацию и т.д. Эта часть предназначена для того, чтобы ее можно было запустить локально на машине разработчика. Эта часть предназначена для того, чтобы ее можно было запустить локально на машине разработчика. При внесении изменений здесь, они тестируются локально.

Вторая часть состоит из скриптов-оберток, которые позволяют нашему CI/CD движку (Jenkins) вызывать первую часть и заставлять ее выполняться на нужном подчиненном узле. Эта вторая часть на самом деле не тестируется, а просто опробуется в системе CI/CD. Мы не считаем это проблемой, поскольку сложность ограничена.


LetsCodeIt, 30 декабря 2022 г., 10:09

Похожие посты

C# — класс, создающий экземпляры других классов, требующих разных службЯвляется ли плохой практикой сравнение строкового представления объекта вместо его свойств во время модульных тестов?Откуда взялся принцип написания автоматизированных модульных тестов для публичных методов (только)?Почему раздутые интерфейсы — это антипаттерн?Каков хороший способ вызова протестированной функции, предоставляемой библиотекой/пакетом?Улучшение процесса CI путем тестирования на образе docker и отказа сборки docker в случае неудачи тестаКак сбросить состояние внешних служб при запуске приемочных тестовЛучший подход к внедрению semver в разработке библиотек: кто определяет версии и разворачивает артефактыЛучшие практики Python CD/CI: развертывание, обновление, безопасность и защита данныхКак поддерживать различные, адаптированные версии одного и того же программного обеспечения для нескольких клиентов