我有两个蔚蓝的devops管道,如下所示:
这将在第二个管道构建的$(CustomDestinationFolder)内创建一个名为'AncientArtifact-1.2.0.12345'的文件夹(第一个管道,最新的BuildId = 12345)。
我想将上述文件夹重命名为'ancient',然后将其移动到第二个管道构建中要包含在第二个管道工件中的另一个目录。
我已经尝试过使用copy files任务,但是问题是我不知道下载的工件文件夹的名称,因此我只能将其父文件夹$(CustomDestinationFolder)指定为源文件夹,因此我的目标文件夹看起来像$(目的地文件夹)\ AncientArtifact-1.2.0.12345 *。使用flattenFolders选项将使所有内容变平,这不是我想要的。
想到一些方法:
是否有更好的方法来处理此问题?
您也许可以通过复制文件任务和通配符来获得所需的内容。
但是如果您最终要重命名工件文件夹以包含在第二个管道中,那么我将在下载工件文件夹之后继续对其进行重命名。
如果它简单地解决了问题并且易于理解,我不会称其为hackish。
- task: DownloadBuildArtifacts@0
inputs:
buildType: 'specific'
project: 'your-project'
pipeline: 'your-pipeline'
buildVersionToDownload: 'latest'
downloadType: 'specific'
downloadPath: '$(System.ArtifactsDirectory)\customLocation'
- task: PowerShell@2
inputs:
targetType: 'inline'
script: Get-ChildItem $(System.ArtifactsDirectory)\customLocation | Rename-Item -NewName 'ancient'