我们可以在一个azure管道yaml文件中为一个repo提供两个Build.ArtifactStagingDirecto



我想在具有相同feed的azure管道的同一repo中创建两个debian安装程序(packageName1&packageName2(。以下是我的azure-pipeline.yaml文件的任务

- task: PublishBuildArtifacts@1
displayName: 'Publish artifacts'
inputs:
pathtoPublish: '$(Build.ArtifactStagingDirectory)'
artifactName: 'Installer package and anti-virus scan results'

- task: UniversalPackages@0
displayName: Publish univeral package-1
inputs:
command: publish
publishDirectory: '$(Build.ArtifactStagingDirectory)'
vstsFeedPublish: '$(packageFeed)'
vstsFeedPackagePublish: '$(packageName1)'
packagePublishDescription: ''
versionOption: custom
versionPublish: $(packageVersion1)
condition: and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/'))
- task: UniversalPackages@0
displayName: Publish univeral package-2
inputs:
command: publish
publishDirectory: '$(Build.ArtifactStagingDirectory)'
vstsFeedPublish: '$(packageFeed)'
vstsFeedPackagePublish: '$(packageName2)'
packagePublishDescription: ''
versionOption: custom
versionPublish: $(packageVersion2)
condition: and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/'))

但是当我通过az命令为其中一个包安装程序下载工件时:

az artifacts universal download 
--organization "https://myplatform.visualstudio.com/" 
--feed "my-feed" 
--name $packageName1 
--version $packageVersion1 
--path .

CCD_ 4的软件包和文件也在下载中。我觉得这是因为我使用相同的Build.ArtifactStagingDirectory位置来存储/发布两个包的工件。我可以为两个安装程序包使用不同的位置吗?

您可以在Build.ArtifactStagingDirectory下为每个项目创建一个子文件夹,并分别发布每个工件。

没有"多个工件目录",但您可以在该目录下创建任意多个文件夹,然后将该子文件夹传递到构建和发布任务中。

最新更新