Я думаю, что вы ищете configuration management
? Сами ваши сценарии должны делать то же самое независимо от того, где они запущены - dev, staging или production. Но вы можете иметь конфигурационные файлы для каждой из ваших сред, которые будут иметь значения конфигурации, специфичные для соответствующей среды. Сценарии будут считывать значения из этих файлов конфигурации и соответствующим образом настраивать ваше приложение.
И чтобы ответить на ваш прямой вопрос о нескольких файлах сборки, нет, есть один файл сборки с одной целью для развертывания (несколько целей не нужны, но могут использоваться в зависимости от ситуации), подробности ниже:
Итак, приведем некоторые подробности:
Имеют конфигурационные файлы, такие как dev.config, stage.config, prod.config (или .properties
файл) и т. Д. Конфигурация будет иметь ips компьютера, значения для других частей среды и т. Д. Все, что нужно для вашего приложения быть настроенным и запущенным в этой среде.
Скажем, у вас есть цель "развертывания" в муравье. Пусть он читает некоторое свойство "environment" из командной строки (-Denvironment = stage)
Используйте это свойство для чтения файла конфигурации и значений и используйте эти значения для развертывания. Используйте подход, основанный на convention over configuration
, при этом существуют некоторые разумные значения по умолчанию, которые файлы конфигурации могут переопределять, только если значение отличается от значения по умолчанию для этой конкретной среды.
Будет одна цель со значением свойства "environment", определяющим конфигурацию среды для использования.