Извлечь изображение из реестра Gitlab в Docker Compose File - PullRequest
0 голосов
/ 14 июня 2019

Я хочу развернуть докерский стек на моем собственном сервере.Я написал файл .gitlab-ci.yml, который в настоящее время создает изображения в моем стеке и помещает их в мой реестр gitlab:

build:
  stage: build
  image: docker:stable
  services: 
    - docker:dind
  before_script:
    - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
    - docker info
  script:
    - docker build -t $DOCKER_IMAGE1_TAG -f dir1/Dockerfile ./dir1
    - docker push $DOCKER_IMAGE1_TAG
    - docker build -t $DOCKER_IMAGE2_TAG -f dir2/Dockerfile ./dir2
    - docker push $DOCKER_IMAGE2_TAG  

Я борюсь за способ запуска команды docker deploy на моемсобственный сервер с файлом docker-compose.yml, который я написал, который успешно извлекает изображения из моего реестра gitlab.Я полагаю, что могу использовать sshpass до ssh на моем сервере, а затем скопировать файл docker-compose.yml и запустить оттуда docker deploy, но я не уверен, как лучше всего разрешить моему серверу доступ к изображениямтеперь находится в моем реестре gitlab:

# Need to ssh into the server, transfer over docker-stack file and run docker swarm deploy
deploy:
  stage: deploy
  environment:
    name: production
  image: trion/ng-cli-karma
  before_script:
    - apt-get update -qq && apt-get install -y -qq sshpass
    - eval $(ssh-agent -s)

Это раздел моего docker-compse файла:

version: "3.2"
services:
  octeditor:
    image: image # how to set this to the image in my container registry?
    ports:
      - "3000:3000"
    networks:
      - front-tier
    deploy:
      replicas: 1
      update_config:
        parallelism: 1
      failure_action: rollback
      placement:
        constraints:
          - 'node.role == manager'
      restart_policy:
        condition: on-failure
        delay: 5s
        max_attempts: 3
        window: 120s

Как я могу извлечь изображения из реестра gitlab?Является ли это предпочтительным способом создания развертывания докера на удаленном сервере через gitlab ci?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...