DevOps

Инструментарий

  1. Для управления конфигурацией серверов используем Ansible.
  2. Для управления кластерами kubespray.
  3. Docker для сборки проектов.
  4. Gitlab CI/CD для автоматической проверки качества и деплоя.

Репозитории

Рекомендации

Docker

  1. Используйте multi-stage сборку: первый образ помогает собрать артефакт, второй - финальный, содержит сам артефакт. Для второго, обычно, используется alpine.

GitLab Docker Registry

Чтобы отправлять docker-образы в Gitlab Registry нужно сначала выполнить docker login:

before_script:
     docker login -u gitlab-ci-token -p ${CI_JOB_TOKEN} ${CI_REGISTRY};

CI_JOB_TOKEN и CI_REGISTRY - переменные окружения инжектит сам gitlab (документация)

Сборка образа и push (doc):

docker build -t GITLAB_REGISTRY:1443/group/subgroup/project .
docker push GITLAB_REGISTRY:1443/group/subgroup/project