Есть ли способ сделать выборочное развертывание в azure devops? - PullRequest
0 голосов
/ 29 января 2020

У меня есть конвейер выпуска, который я использую для развертывания своих ресурсов в других средах. Все работает нормально, но проблема в том, что каждый раз, когда я развертываю, все ресурсы, даже если не вносятся никакие изменения, развертываются. Есть ли способ, с помощью которого я могу сделать выборочное развертывание; т.е. я разворачиваю только те ресурсы, которые были изменены. Любая помощь будет делать. Спасибо.

Ответы [ 2 ]

1 голос
/ 29 января 2020

Это широкий вопрос. Нет встроенной функции для выбора единиц для развертывания. Но вы можете использовать переменные в конвейере выпуска:

  1. Определить переменную для каждого ресурса / единицы и установить некоторое значение по умолчанию и свойство «Устанавливается при выпуске». enter image description here
  2. Для каждого ресурса определите отдельную задачу для развертывания и определите пользовательское условие, например: and(succeeded(), eq(variables['Custom.DeployUnit1'], 'YES')) enter image description here
  3. Вы можете обновить эти переменные во время создания релиза: enter image description here
0 голосов
/ 29 января 2020

Есть ли способ выборочного развертывания в azure devops?

В azure devops нет такого готового способа выборочного развертывания.

Это потому, что Azure выпуск devops не поддерживает выпуск только измененных файлов, поскольку только выпуск измененных файлов не всегда имеет смысл и не может архивировать то, что проект намерен выпустить (например, файл конфигурации, измененный только в коммите).

Но вы могли бы создать сценарий PowerShell для сравнения метки времени для всех файлов:

  • Создать XML файл, в котором хранится информация о последней загрузке / публикации sh каждого файла (например, имя файла, дата, время, версия набора изменений / фиксации).
  • Создайте файл сценария PowerShell, который включает логический файл для сравнения (получить метаданные файлов и сравнить с этим файлом XML) и скопировать обновленные файлы в указанную папку c
  • Publi sh файлы в этой папке

Проверьте аналогичную тему для получения более подробной информации.

Be сторон, при развертывании с помощью deploy.cmd или MSDeploy.exe, вы также можете использовать флаг - useChecksum WebDeploy:

WebDeploy / MSDeploy Быстрый совет: только развертывать измененные файлы

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

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