#azure-devops #msbuild #azure-pipelines-release-pipeline
#azure-devops #msbuild #azure-pipelines-release-pipeline
Вопрос:
Я использую Azure Dev Ops для запуска конвейеров сборки и выпуска. У меня есть сценарий сборки, который публикует мой веб-код в папке артефактов (с использованием проектов .NET SDK), и мне просто нужно вставить этот код в мою службу приложений Azure. Я попробовал задачи «Развертывание службы приложений Azure» и «Развертывание кода в службе приложений» в конвейере выпуска, предоставив ему файл настроек публикации из моего экземпляра Azure и указав на папку с моим кодом (поскольку в нем указано, что он принимает zip или папку).). Однако на консоли на этом шаге я получаю сообщение об ошибке «Такого метода развертывания не существует».
Мне удалось передать данные через FTP, но я хотел бы понять, почему публикация службы приложений не сработала, поскольку есть варианты (например, слоты развертывания), которые могут понадобиться в будущем. Является ли это сценарием, в котором использование подключения Azure Resource Manager будет работать лучше? Или мой артефакт сборки все-таки нужно заархивировать? Если его нужно заархивировать как веб-развертывание, есть ли шаг для этого после сборки решения, потому что сначала мне нужно скопировать файлы в папку артефакта для преобразований, поэтому я не могу просто выполнить полную веб-сборку / zip.
Комментарии:
1. Как насчет проблемы? Разрешил ли приведенный ниже ответ ваш вопрос? Если у вас есть какие-либо опасения, не стесняйтесь поделиться ими здесь.
2. @KenMcAndrew Можете ли вы проголосовать за мой ответ, если он был полезен для вас?
Ответ №1:
Я не вижу подробностей вашего конвейера, поэтому я бы поделился своими. Я развертываю zip-пакет:
В Package or folder
диалоговом окне у меня:
Я использую YAML в своих конвейерах, но его легко понять и следовать, если вы хотите иметь аналогичные в классических конвейерах:
trigger: none
pr: none
pool:
vmImage: 'windows-latest'
variables:
buildConfiguration: 'Release'
projectDirectory: 'app-service-deployment-to-slot-with-previewhadar'
steps:
- script: dotnet build --configuration $(buildConfiguration)
displayName: 'dotnet build $(buildConfiguration)'
workingDirectory: $(projectDirectory)
- task: DotNetCoreCLI@2
displayName: Publish
inputs:
command: publish
publishWebProjects: false
projects: '$(projectDirectory)hadar.csproj'
arguments: '--configuration $(buildConfiguration) --output $(Build.ArtifactStagingDirectory)'
zipAfterPublish: true
- task: CopyFiles@2
displayName: 'Copy configuration settings checks'
inputs:
contents: app-service-deployment-to-slot-with-previewscripts**
targetFolder: '$(Build.ArtifactStagingDirectory)scripts'
flattenFolders: true
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifacts'