Рубрики
Uncategorized

Проверьте свои задачи развертывания

Большая часть конвейера CI / CD — головная боль, которая может быть удалена из развертывания. Руководство DEP … Теги с CI, CD, DEVOPS.

CI/CD (4 часть серии)

Большая часть конвейера CI/CD — головная боль, которая может быть удалена из развертывания. Ручное развертывание болезненно, но развертывание в целом не нужно. Автоматизация развертываний — отличный способ избежать ошибок человека и иметь возможность развертываться с последовательными результатами.

Беда в том, что работает на одном проекте может не перевести полностью в другое. Даже только с небольшим изменением в текстике.

Будучи немного динозавром, я начал новую подъем проекта и перенести Runner Take Pick Take от одного проекта в другое, чтобы сэкономить время. Если это не сломалось, не исправьте это! Но я никогда не проверял полную задачу глотала перед ним, работает как часть развертывания — когда она не удалось!

Новый проект был проектом Greenfield, при этом производительность является требованием этого. Я хотел использовать читабельность и производительность, которые могут быть получены с использованием JavaScript ES6. Все работало во время разработки и ранних фаз тестирования каждого цикла высвобождения, но не так много, когда проходило развертывание к постановке. Получение заявки на электронную почту «Ошибка конвейера» на этапе развертывания казалась сумасшедшей. Вопросы, которые никогда не были замечены мной раньше, были внезапно, были внезапно в кодовой базе. Что происходило?!

Оказалось, что это действительно просто, развертывание к постановке проработало «выпустить» работу глотана, которая сделала заминирование JavaScript для повышения производительности. Занимание с использованием модуля Minify Gulp-Minify не работает с ES6. Это либо должно проходить через Babel, чтобы перевести его или не быть ES6. Это не было замечено до того, как в качестве сборки выпуска всегда работал над другим проектом, где не существует код ES6.

Урок, который я взял из этого, было просто. Проверьте каждую задачу, которая будет работать позже в некритической точке. Я предпочел бы рано узнать о том, что развертывание потерпит неудачу, чем мой обед или сна, прерванные неудачными уведомлениями о развертывании и системе.

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

Если проверки проходят через тесты модуля, то тесты блока JavaScript могут пройти как отдельные файлы, но они могут потерпеть неудачу, когда они объединяются в одном файле. Все эти вещи должны рассматриваться как часть трубопровода, а также порядок бега.

Эта статья была первоначально опубликована в моем блоге на https://www.garybell.co.uk/test-your-deployment-tasks/ 8 января 202020

CI/CD (4 часть серии)

Оригинал: «https://dev.to/_garybell/test-your-deployment-tasks-3fjn»