Как пропустить выпуск артефакта сборки в конвейере компакт-дисков Azure VSTS, если нет новой версии сборки - PullRequest
0 голосов
/ 18 февраля 2019

У нас есть определение выпуска, которое предоставляет набор основных служб asp.net вместе с приложением Angular.

Большинство служб обновляются не очень часто, поэтому вопрос заключается в том, как сравнить версию артефакта с уже развернутойв среду и пропустить, если последняя версия была развернута ранее?

У нас есть несколько сред в конвейере.

Ответы [ 2 ]

0 голосов
/ 18 февраля 2019

Вы можете добавить дополнительную среду выпуска для проверки текущей версии артефакта через PowerShell (например, Build.SourceVersion, проверить переменные в выпуске ), а затем выполнить задачу, если она уже была успешно выпущена.

В качестве промежуточной среды выберите параметр «После среды» и выберите предыдущую среду.

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

0 голосов
/ 18 февраля 2019

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

root
|--app1
|--app2
etc

вы можете определить фильтры путей в вашей сборке yaml следующим образом:

trigger:
  paths:
    include:
      - app1/*
      - sharedlibs/* (if you have them)

таким образом сборка будет срабатывать только при наличии каких-либоизменения в файлах в этих каталогах

...