Конвейеры Azure DevOps с использованием YAML - сборка / выпуск каждого проекта на отдельном сервере приложений
У меня есть решение для нескольких проектов (с несколькими веб-проектами, проектом функции Azure и т. Д.). Я хочу иметь возможность создавать каждый проект отдельно и развертывать его в отдельных службах приложений. Я прочитал этот вопрос: Azure DevOps: 1 решение для нескольких проектов CI / CD, и он просит использовать фильтры пути, но не конкретно, как это сделать - есть несколько мест / способов сделать это, и я не уверен, какой из них правильный..
Я пробовал это:
variables:
solution: '**/MyProject1.csproj'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
Сборка работает, но потом во время publish artifact
шаг он говорит мне:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(776,5): Warning : The OutputPath property is not set for project 'MyProject1.csproj'. Please check to make sure that you have specified a valid combination of Configuration and Platform for this project. Configuration='Release' Platform='Any CPU'. You may be seeing this message because you are trying to build a project without a solution file, and have specified a non-default Configuration or Platform that doesn't exist for this project.
Project "D:\a\1\s\MyProject1\MyProject1.csproj" on node 1 (default targets).
В нем говорится configuration
а также release
не существует для проекта, но есть.
Я также пробовал:
trigger:
branches:
include:
- master
paths:
include:
- MyProject1/*
Сборка также работала, без предупреждений, однако публикация артефакта сборки скопировала все решение. Так что - я не думаю, что на самом деле был построен только один проект.
Любые подробности того, что необходимо сделать, приветствуются.
1 ответ
Итак - если у вас есть проекты, которые были созданы в более старой версии Visual Studio (2015 или более ранней), значение платформы установлено на AnyCPU
(хотя в раскрывающемся списке написано Any CPU
)- в более новых версиях установлено значение Any CPU
. Откройте файл.csproj и проверьте, что там находится.