Как индивидуально развернуть докерские микро сервисы с помощью Gitlab CI и позволить им общаться? - PullRequest
0 голосов
/ 07 сентября 2018

Я работаю над попыткой создать микросервисную систему, которая может быть развернута с помощью докера, и я столкнулся с несколькими концептуальными препятствиями, с которыми мне бы хотелось помочь. Таким образом, каждый из моих микро-сервисов работает на среде Nameko Python с RabbitMQ в качестве брокера сообщений, и каждый из этих сервисов находится в своем собственном git-репо. Я пытаюсь выяснить, как я могу создать систему развертывания gitlab CI для каждого сервиса, чтобы при смене мастера для любой перикулярной службы контейнер перестраивался и автоматически развертывался на моем рое докера Моя текущая попытка gitlab CI config :

stage: 
  - build
  - deploy

build:  
  image: docker
  variables: 
    REG_HOST: 'local-registry-url'

  script:
    - docker login to local image repo
    - docker build -t $REG_HOST/$SOME_TAG
    - docker push $REG_HOST/$SOME_TAG

deploy: 
  image: docker
  script:
    - docker login to local image repo
    - docker stack deploy --with-registry-auth --compose-file=docker-stack-compose.yml

  only:
    - master

Я создаю новый docker-stack-compose.yml для каждой службы, но я не уверен, как определить зависимость, на которую опираются все мои службы, например rabbitMQ, без переопределения ее в каждой из моих docker-stack-compose.yml и будет ли это даже Работа? Кроме того, как бы я поместил их всех в одну сеть?

Вот как выглядит мой текущий файл составления текущей работы для тестового сервиса:

version: '3'
services:
  test:
    container_name: io-test
    image: local-registry-url/service-name
    tty: true
    ports: 
      - '8000:8000'
    depends_on:
      - rabbitmq
    networks:
      - service-net
    deploy:
      mode: replicated
      replicas: 2

networks:
  default:
    external: service-net

Любая помощь с этим будет принята с благодарностью.

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