-
Башун Владимир Владимирович authored43037047
task3.1.md 3.78 KiB
День 3, задание (расширенная настройка pipeline, автоматическая сборка docker)
Создать pipeline и добавить сборку проекта. Сделайте авто-сборку и выкладку образа, который вы настраивали в первый день.
Последовательность выполнения задания.
- Создайте группу и проект внутри группы на сайте gitlab.com
- ВАЖНО: Добавьте в group members аккаунт devsecops_service с правами maintainer (меню manage => members => invite_members)
Иначе проверяющий не сможет проверить выполнение задания
- Предварительно необходимо настроить gitlab-runner в контейнере докер на своем компьютере и привязать его к проекту. Если вы еще этого не делали, сделайте согласно инструкции.
- Настраиваем pipeline, создав .gitlab-ci.yml в ветке main. Добавьте в pipeline 3 этапа (stages): build, test, deploy и 3 задания (jobs): build_job, test_job, deploy_job Они должны запускаться последовательно в этом порядке.
- Настройте cache так, чтобы файл README, созданный на этапе build, был доступен так же в test и deploy. Сделайте на этапах build и test запись текстового сообщения в этот файл README (на каждом этапе build, test – добавлялось свое сообщение, которое в том числе содержало бы название этапа)
- На этапе deploy (deploy job), необходимо сделать сборку приложения при помощи образа docker:20.10.16 и службы docker:20.10.16-dind. Соберите ваше приложение в контейнер и сделайте автоматический push на docker hub вашего образа.
- Модифицируйте Dockerfile для образа так, чтобы файл README созданный в процессе pipeline, копировался внутрб контейнера при сборке.
- Модифицируйте точку входа при запуске контейнера так, чтобы на экран выводилось содержимое файла README, созданного в процессе сборки контейнера.
Проверьте, что ваше приложение успешно выложено в docker hub с тегом day3.
Попробуйте запустить его с помощью docker run так, чтобы образ подтягивался из docker hub
(например, docker run MYAPP:day3)
В ответ на задание привести ссылку на pipeline с успешной сборкой приложения, а также полную команду на запуск вашего приложения в контейнере (docker run …).
Так же привести ссылку на docker hub репозиторий (должен быть доступен тег: day3).
После выполнения задания, ответ загрузите в анкету