На Reddit подняли интересную тему о различных CI/CD процессах, задав вопрос: Какие небольшие, но полезные улучшения в CI/CD вы сделали?
Собирали для вас несколько популярных ответов:
Для меня это было включение подсветки ошибок в журналах сборки. Эффект был колоссальным, потому что теперь разработчики могли легко сортировать журналы сборки. Коротко и ясно. Не поймите меня неправильно, у нас все еще есть сбои, но теперь очень просто найти 👍
Напишите как можно больше CI/CD-задач в виде отдельных скриптов, чтобы можно было запускать и тестировать их локально. Но не заходите слишком далеко: написание собственной CI/CD системы на скриптовом языке — не самое лучшая трата вашего времени.
Чтобы скрипты было легко вызывать, добавьте несколько Makefiles в качестве обертки. Только эти две вещи сэкономят вам огромное количество времени.
Производительность CI/CD зависит от кэширования. В GitHub Actions есть кэш, который поддерживается Docker. Его использование значительно повышает производительность.
В этом проекте есть ряд примеров использования кэширования для оптимизации производительности. Например, использование GitHub docker реестра для обмена образами между параллельными этапами, использование кэша GitHub для файлов и т. д.
Вообще говоря, будет лучше, если вы сможете запускать CI/CD локально для дебага. Иначе вы застрянете в медленном цикле коммитов кода и ожидания сбоя CI. В этом проекте используется «контейнерная» сборка и тестирование, поэтому все, что возможно, делается в Docker. Так получается его более изолированно.
А какие CI/CD процессы посоветовали бы вы?
#devops #reddit #cicd
