DevOps стал очень важной ролью в современных командах разработки программного обеспечения. Как мы все знаем, основная задача инженера DevOps — это обрабатывать интеграции и развертывания в гибкой среде. Он охватывает такие операции, как настройка трубопроводов CI/CD, контейнерные приложения, настройка серверов и т. Д.
В гибкой среде команды постоянно совершают свои изменения в системе контроля версий, эти коммиты включают новые функции, импровизации по сравнению с старыми функциями и исправления ошибок в системе. Чтобы отразить эти изменения на серверах тестирования/UAT/производства, настраиваются трубопроводы, которые могут извлечь последний код из системы управления версиями, создать изображение и подтолкнуть его к соответствующему реестру контейнеров. Как правило, Docker поддерживает трубопроводы только из Github & Bitbucket, к сожалению, с Gitlab вам нужно настроить этот трубопровод из самого вашего репо, а не от Docker.
Следуйте приведенным ниже шагам, чтобы настроить свой трубопровод. (Примечание: предполагая, что вы создали свой реестр Docker Hub и репозиторие Gitlab)
Шаг 1
Создать .gitlab-ci.yml
Файл в проекте Файл .gitlab-ci.yml-это файл YAML, который содержит конфигурации для вашего концентратора Docker. Repo Gitlab, состоящий из этого файла, запускает команды в файле всякий раз, когда новый коммит выдвигается в репо. Обратитесь здесь: https://docs.gitlab.com/ee/ci/yaml/
Файл YAML должен выглядеть так
image: docker:latest services: - docker:dind variables: LATEST_VER: {imagename:tagname} stages: - Build image and Push to Docker Hub docker build and push: stage: Build image and Push to Docker Hub only: - master before_script: - echo "$REGISTRY_PASSWORD" | docker login -u "$REGISTRY_USER" --password-stdin script: - docker info - docker build -t $LATEST_VER . - docker push $LATEST_VER
Шаг 2
Установите переменные CI/CD в Gitlab
- Войдите в Gitlab, используя действительные учетные данные.
- Перейти в репозиторий.
- Прокрутите левую панель, чтобы найти параметры «Настройки».
- Нажмите на подпрограмму «CI/CD».
- Теперь найдите подраздел «переменных» (четвертый вариант) и разверните его.
- Добавьте две новые переменные, используя «Registry_password» и «Registry_user» в качестве ключей. Значения должны быть паролем и именем пользователя вашего реестра Docker, соответственно
Готово! Теперь внесите изменения и нажмите свой код. Проверьте раздел «CI/CD -> Pipelines» в меню Gitlab Repo, чтобы проверить состояние вашего трубопровода.
Оригинал: «https://dev.to/varungujarathi9/set-up-a-ci-pipeline-in-gitlab-to-build-and-push-docker-images-from-a-git-repository-250b»