我有一个简单的构建管道,可以在git commit上触发,并且运行良好。
以下是该过程的.yaml:
trigger:
- master
pool:
vmImage: 'ubuntu-latest'
variables:
buildConfiguration: 'Release'
steps:
- script: dotnet build --configuration $(buildConfiguration)
- task: ArchiveFiles@2
inputs:
rootFolderOrFile: '$(Build.BinariesDirectory)'
includeRootFolder: true
archiveType: 'zip'
archiveFile: '$(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip'
replaceExistingArchive: true
displayName: 'dotnet build $(buildConfiguration)'
然后,我尝试构建一个Release版本,但是无法将zip文件传递到我的部署步骤。我遵循的步骤是:
这是我的设置-总体发布渠道:
工件阶段设置如下:
这是我在第1阶段(部署阶段)的3个任务:
然后这3个任务的属性:
这是我遇到的错误,与人工制品发布目录有关:
答案 0 :(得分:2)
您应使用 dotnet发布创建二进制文件。该步骤还将创建一个zip文件。然后要发布人工制品,请使用PublishBuildArtifacts@1
任务。这些步骤应全部在构建中完成,而不是发布。
这里有个例子:
steps:
- script: dotnet build --configuration $(buildConfiguration)
displayName: 'dotnet build $(buildConfiguration)'
- task: DotNetCoreCLI@2
inputs:
command: 'publish'
publishWebProjects: false
projects: '**/*.csproj'
arguments: '-o /app'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '/app'
ArtifactName: 'drop'
publishLocation: 'Container'
在此发行版中,您不需要“发布和下载构建构件”步骤,因为构件已经存在(_ISOF)。运行第一个版本后,您只需在“包或文件夹”下拉列表中选择zip文件。