← До списку лабораторних по Docker
Повний опис / сценарій лабораторної:
Мета: навчитися мати тестовий та прод образ на базі одного репозиторію коду. Крок 1. Підготувати застосунок з юніт тестами. Пояснення: наприклад невеликий сервіс на Python або Go. Крок 2. Створити Dockerfile з двома stage. Пояснення: перша стадія build і тестування, друга виконує тільки рантайм. Крок 3. У build стадії встановити усі dev залежності. Пояснення: тести і дебаг інструменти не потрібні у фінальному образі. Крок 4. Додати у build стадію запуск юніт тестів. Пояснення: команда RUN яка завершує збірку помилкою якщо тести не пройшли. Крок 5. У фінальній стадії використовувати тільки зібраний артефакт. Пояснення: копіюй бінарник або мінімальний набір файлів. Крок 6. Зібрати тестовий образ. Команда: docker build -t lab30-test --target builder . Пояснення: цей образ міститиме інструменти тестування. Крок 7. Зібрати прод образ. Команда: docker build -t lab30-prod . Пояснення: за замовчуванням використовується остання стадія. Крок 8. Порівняти розміри образів. Команда: docker images | grep lab30 Пояснення: прод образ має бути помітно меншим. Крок 9. Запустити прод образ і переконатися що застосунок працює. Команда: docker run --rm lab30-prod Крок 10. Міні звіт. Завдання: опиши як би ти інтегрував таку схему у ci cd пайплайн.