我们可以在一个 azure-pipeline yaml 文件中为一个 repo 设置两个 Build.ArtifactStagingDirectory 位置来发布两个不同的 debian 安装程序吗
Can we have two Build.ArtifactStagingDirectory location for one repo in one azure-pipeline yaml file to publish two different debian installer
我想在具有相同 feed
的 azure-pipeline 的相同 repo 中创建两个 debian 安装程序(packageName1
& packageName2
)。下面是我的 azure-pipeline.yaml file
的任务
- 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 .
packageName2
的包和文件也正在下载。我觉得那是因为我使用相同的 Build.ArtifactStagingDirectory
位置来 store/publish 两个包的工件。我可以为两个安装程序包使用不同的位置吗?
您可以在 Build.ArtifactStagingDirectory
下为每个项目创建一个子文件夹并单独发布每个工件。
没有'multiple artifact directories',但您可以在目录下创建任意数量的文件夹,然后将子文件夹传递到构建和发布任务中。
我想在具有相同 feed
的 azure-pipeline 的相同 repo 中创建两个 debian 安装程序(packageName1
& packageName2
)。下面是我的 azure-pipeline.yaml file
- 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 .
packageName2
的包和文件也正在下载。我觉得那是因为我使用相同的 Build.ArtifactStagingDirectory
位置来 store/publish 两个包的工件。我可以为两个安装程序包使用不同的位置吗?
您可以在 Build.ArtifactStagingDirectory
下为每个项目创建一个子文件夹并单独发布每个工件。
没有'multiple artifact directories',但您可以在目录下创建任意数量的文件夹,然后将子文件夹传递到构建和发布任务中。