Ветви для построения конфигураций? - PullRequest
0 голосов
/ 20 сентября 2018

У меня есть один конвейер сборки, основанный на разработке и основных ветвях.У меня есть несколько конфигураций сборки.После разработки сборок создается релиз, который развертывается в моей среде разработки.Я хочу, чтобы эта сборка использовала мою конфигурацию сборки разработки.Когда я вхожу в основную ветку, она собирается, высвобождается и развертывается в моей среде контроля качества.Я хочу, чтобы эта сборка использовала мою конфигурацию сборки выпуска.Проблема, которая у меня возникла, похоже, создает все конфигурации сборки, но последняя остается неизменной, и это конфигурация сборки выпуска.Это проблематично при развертывании в разработке, поскольку мои строки подключения указывают на мои производственные базы данных.Есть ли способ правильно настроить это, используя один конвейер CI / CD, или я должен иметь два разных конвейера CI / CD, один для разработки и один для производства?

Ответы [ 2 ]

0 голосов
/ 16 апреля 2019

Это то, что мне тоже нужно, и я решил это.

Для BUILD:

  1. Убедитесь, что ваш триггер сборки настроен на «фильтрацию» любых ветвей
    что вы хотите включить в это.Для меня это разработка и освоение.
  2. Создайте шаг сборки PowerShell, мой называется «Установить конфигурацию сборки на основе ветви».
  3. Сделайте PowerShell 'встроенным' типом
  4. В поле сценария поместите следующее:

    Write-Host ("##vso[task.setvariable variable=BuildConfiguration;]{0}" -f ({Test},{Release})[$env:BUILD_SOURCEBRANCHNAME -eq "master"])
    

    Пока ваши преобразованиянастроенный на работу с конфигурацией сборки, они будут корректно обрабатываться в оставшейся части процесса сборки.Для меня это конфигурация Test and Release, но для вас она может отличаться.

Для RELEASE:

  1. Установитьтриггер на ваших артефактах, чтобы включить ветви, которые вы хотите включить в этот сценарий.
  2. Убедитесь, что вы создаете отдельные этапы в выпуске.Для меня они называются «тестовое развертывание» и «развертывание prod»
  3. Для каждого из этих «этапов» развертывания установите триггер так, чтобы иметь файл-фильтр артефактов для целевой ветви.

ПРЕДУПРЕЖДЕНИЕ. Убедитесь, что шаг развертывания на каждом «этапе» ориентирован на соответствующую группу развертывания.Вы не хотите развертывать настройки тестовой среды в PROD!

Для моего этапа тестирования я также добавляю шаг для утверждения.

Надеюсь, это поможет.

0 голосов
/ 20 сентября 2018

Я предлагаю использовать один (или два) конвейер сборки и два конвейера выпуска , так как вы хотите использовать разные конфигурации релизов, основанные на ветке сборки develop или master.

Подробности, как показано ниже:

  • Все еще использовать текущий конвейер сборки CI для develop ветви или master ветви (или вы можете изменить использование двух отдельных конвейеров сборки).
  • Использовать две линии выпуска.В качестве спецификации артефакта выберите «Последний» из определенной ветви с тегами.Затем выберите develop или master для двух выпускных трубопроводов отдельно.

    enter image description here

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