Mig*_*ura 4 azure-deployment azure-devops azure-pipelines
我需要使用Azure Devops将Asp.Net核心应用程序部署到Azure WebApp。
我有以下工作的Azure-Pipelines YAML文件:
trigger:
- master
variables:
buildConfiguration: 'Release'
buildPlatform: 'any cpu'
version: '0.2.0'
stages:
- stage: 'Stage1'
jobs:
# Previous Jobs like Build, Test, ...
- job: 'Publish'
pool:
vmImage: 'Ubuntu-16.04'
dependsOn: 'Test'
steps:
- task: DotNetCoreCLI@2
displayName: 'Publish'
inputs:
command: publish
publishWebProjects: false
projects: '**/*.csproj'
arguments: '--configuration $(BuildConfiguration) --output $(build.artifactstagingdirectory)'
zipAfterPublish: true
- task: PublishBuildArtifacts@1
displayName: 'Artifact'
inputs:
PathtoPublish: '$(build.artifactstagingdirectory)'
- task: AzureRmWebAppDeployment@4
displayName: 'Deploy'
inputs:
package: '$(build.artifactstagingdirectory)/App.Api.zip'
azureSubscription: 'MyName.Azure'
appType: 'Web App On Windows'
webAppName: 'myname-api'
Run Code Online (Sandbox Code Playgroud)
这可以正常工作,但是我想使用新的Deployment Job。
我删除了“部署”任务,并将其添加为“发布”任务之后的新部署任务:
- deployment: DeployJob
dependsOn: 'Publish'
pool:
vmImage: Ubuntu-16.04
environment: production
strategy:
runOnce:
deploy:
steps:
- task: AzureRmWebAppDeployment@4
inputs:
package: '$(build.artifactstagingdirectory)/App.Api.zip'
azureSubscription: 'MyName.Azure'
appType: 'Web App On Windows'
webAppName: 'myname-api'
Run Code Online (Sandbox Code Playgroud)
您会看到“ AzureRmWebAppDeployment @ 4”与以前相同。
但是现在在运行管道时出现以下错误:
Download artifact to: /home/vsts/work/1/
Could not find any pipeline artifacts in the build.
Run Code Online (Sandbox Code Playgroud)
我想念什么?如何解决这个问题?
我自己整天都在为此苦苦挣扎,直到跌跌撞撞地找到了解决方案。似乎有一些默认的“帮助程序”任务捆绑在作业中,并且部署作业具有添加的默认下载任务。我仍然不确定在我的情况下它试图下载什么,但是它导致了您描述的相同问题。
尝试将- download: none任务添加到部署作业的步骤中,然后显式指定任务。这样的事情应该起作用:
- stage: deploy_dev
displayName: Development environment
jobs:
- deployment: Deploy
displayName: Deploy to Development environment
environment: myproject-dev
pool:
vmImage: ubuntu-16.04
strategy:
runOnce:
deploy:
steps:
- download: none
- task: DownloadBuildArtifacts@0
inputs:
artifactName: $(ArtifactName)
buildType: 'current'
downloadType: 'single'
downloadPath: '$(System.ArtifactsDirectory)'
Run Code Online (Sandbox Code Playgroud)
可以在以下位置找到下载快捷方式的文档:https : //docs.microsoft.com/zh-cn/azure/devops/pipelines/yaml-schema?view=azure-devops&tabs=schema# download
希望有帮助!
Dan*_*ann -3
看起来您正在尝试在发布工件之前进行部署。
dependsOn: 'Publish'
您需要先发布工件。这就是您所调用的步骤Artifact。
我还预计您拥有的包路径$(build.artifactstagingdirectory)/App.Api.zip将不起作用。它可能会在以下某个地方$(System.DefaultWorkingDirectory)。