Nexus3 Docker отличается репо для разных env, таких как dev, prod - PullRequest
0 голосов
/ 29 апреля 2018

Сэр,

Могу ли я задать вопрос, если я хочу настроить несколько отдельных репозиториев для разных env, таких как dev, prod, для разных репо, чтобы избежать использования нестабильного образа в версии prod. значит ли это, что я должен использовать другой порт для разных репо?

Например:

Dev Размещено: 8083 Группа разработчиков: 8082

PRD. Размещено: 8183. PRD хостинг: 8182

Если это так, если мы хотим создать много-много, значит ли это, что нам нужно использовать много портов?

1 Ответ

0 голосов
/ 29 апреля 2018

Исходные рабочие процессы обычно отличаются от компании к компании, но обычно я рекомендую один репо на сервис и несколько филиалов , так что вы можете легко объединить функции с master (например: prod) ветвь из ваших feature веток, которые могут быть выделены для среды.

Что касается статической конфигурации, я рекомендую создать универсальные, не относящиеся к среде образы контейнеров , которые выбирают все специфические для среды конфигурации из переменных среды при запуске и во время выполнения.

При отображении портов в контейнере вы всегда должны использовать одни и те же порты (например: строить свой образ с помощью 82 и 83) и изменять их только тогда, когда вы expose используете его для хоста во время состав.

Когда вы создаете свои образы докеров, вы можете использовать labels, чтобы установить, какой из них является dev, prod ревизией этих изображений, чтобы вы могли легче ориентироваться на них с помощью imagename:label

При этом вы можете указать несколько составов докеров для каждой среды, создав следующие файлы:

докер-Compose dev .yml :.

version: '3'
services:
  web:
    image: "webapp:dev"
    ports:
     - "8082:82"
     - "8083:83"
    environment:
     - DEBUG=true
     - ENVIRONMENT_NAME=dev

докер-Compose prod .yml :.

version: '3'
services:
  web:
    image: "webapp:prod"
    ports:
     - "8182:82"
     - "8183:83"
    environment:
     - DEBUG=false
     - ENVIRONMENT_NAME=prod

С помощью этой конфигурации вы можете создавать свои сервисные композиции на основе одинаковых или похожих изображений, запустив docker-compose:

# To start a DEV service composition
docker-compose up -f ./docker-compose.dev.yml 

# To start a DEV service composition
docker-compose up -f ./docker-compose.prod.yml 

Подробнее об этом:

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