Nexus3 Docker отличается репо для разных env, таких как dev, prod
Сэр,
Могу ли я задать вопрос, если я хочу настроить несколько отдельных репозиториев для разных env, таких как dev, prod для разных репо, чтобы избежать нестабильного изображения, которое будет использоваться в версии prod. значит ли это, что я должен использовать разные порты для разных репо?
Такие как:
Dev Размещено:8083 Dev Группа: 8082
PRD хостинг:8183 PRD хостинг:8182
Если так, если мы хотим создать много-много, значит ли это, что нам нужно использовать много портов?
1 ответ
Исходные рабочие процессы обычно отличаются от компании к компании, но, как правило, я рекомендую один репо на сервис и подход с несколькими филиалами, чтобы вы могли легко объединить функции с master
(например: prod) ветка от вашего feature
ветви, которые могут быть выделены для каждой среды.
Что касается статической конфигурации, я рекомендую создать универсальные, не относящиеся к среде образы контейнеров, которые собирают всю конфигурацию среды из переменных среды при запуске и во время выполнения.
При отображении портов в контейнере вы всегда должны использовать одни и те же порты (например: сборка образа с помощью 82
а также 83
), и меняйте их только тогда, когда вы expose
это хозяину во время композиции.
Когда вы создаете свои образы докеров, вы можете использовать labels
установить, какой из них dev
, prod
пересмотреть эти изображения, чтобы вы могли легче ориентироваться на них с imagename:label
При этом вы можете указать несколько составов Docker для каждой среды, создав следующие файлы:
докер-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
Смотрите больше информации о них:
- ссылка на создание докера: https://docs.docker.com/compose/reference/overview/
- стратегия ветвления github-потока: https://guides.github.com/introduction/flow/