Раздел 43 · Автотестирование с нуля

Стенд в CI: docker compose в job, готовность без sleep и логи упавшего стенда

middle~45 мин

без входаВойди, чтобы отмечать прогресс, вести заметки и решать задачи в редакторе. войти

Оля · DevOps, #qa-antrakt

Кто опять положил shared-стенд? Ночной прогон API-тестов упал на 31 тесте из 40. Смотрю: в 2:14 кто-то сбросил базу к сиду, а в 2:20 на стенд выкатили ветку feature/waitlist с новой миграцией.

Ника · фронтенд, #qa-antrakt

Ветку выкатила я, но днём. Сброс не мой.

Тимур · бэкенд, #qa-antrakt

Сброс мой: отлаживал возвраты. Я не знал, что ночью там что-то идёт.

Вера Ланская · лид QA, #qa-antrakt

Никто не виноват, виновата схема. Пока стенд общий, наш прогон зависит от того, кто что делает на нём ночью. Каждой job свой стенд: поднялся, прогнал тесты, умер вместе с машиной.

В прошлом уроке в CI поехали юнит-тесты, которым ничего, кроме кода, не нужно. API-тестам и e2e нужен весь «Антракт»: Postgres, Mailpit, «ПлатиМ», API и веб. Сегодня стенд переезжает в job.

Общая кухня

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

Общий стенд это общая кухня. Ночной прогон, отладка Тимура и выкладка Ники разумны по отдельности, но вместе портят друг другу данные. Свой стенд в каждой job это своя кухня, которая появляется на время готовки и исчезает потом. Никто не может снять твою кастрюлю, потому что других людей на этой кухне нет.

урок из курса

Урок из курса «Автотестирование с нуля». Курс покупается один раз и остаётся навсегда: 500 ₽.

Оплата пока не подключена: премиум и курсы открываются промокодом.