← До списку лабораторних по Docker
Повний опис / сценарій лабораторної:
Мета: навчитися піднімати комплекс із кількох контейнерів тільки на час виконання тестів. Крок 1. Створити окремий docker compose файл для інтеграційних тестів. Пояснення: у ньому описати застосунок, базу, кеш, черги. Крок 2. Додати сервіс test runner який чекатиме готовності залежних сервісів. Пояснення: він запускає набір тестів і завершується. Крок 3. Налаштувати healthcheck для бази і кешу. Пояснення: test runner має стартувати тільки коли вони healthy. Крок 4. Запустити стек для тестів. Команда: docker compose -f docker-compose.test.yml up --abort-on-container-exit Крок 5. Перевірити статус завершення test runner контейнера. Пояснення: код повернення показує успішність тестів. Крок 6. Налаштувати автоматичне видалення контейнерів і мереж після тестів. Команда: docker compose -f docker-compose.test.yml down -v Крок 7. Інтегрувати цей сценарій у ci. Пояснення: окремий job який запускає docker compose тестовий файл. Крок 8. Додати можливість запускати ті ж тести локально. Пояснення: розробник має однією командою підняти весь стенд. Крок 9. Оцінити час підняття стенду і виконання тестів. Пояснення: це важливо для швидкості зворотного звʼязку. Крок 10. Міні звіт. Завдання: опиши переваги такого підходу у порівнянні з використанням спільних dev стендів для інтеграційних тестів.