我有两个蔚蓝的devops管道,如下所示:
这将在第二个管道构建的$(CustomDestinationFolder)内创建一个名为“ AncientArtifact-1.2.0.12345”的文件夹(第一个管道,最新的BuildId = 12345)。
我想将上述文件夹重命名为“ ancient”,然后将其移动到第二个管道构建中的另一个目录中,以包含在第二个管道工件中。
我尝试使用copy files任务,但是问题是我不知道下载的工件文件夹的名称,因此我只能将其父文件夹$(CustomDestinationFolder)指定为源文件夹,因此我的目标文件夹将看起来像$(destinationFolder)\ AncientArtifact-1.2.0.12345 *。 使用flattenFolders选项将使所有内容变平,这不是我想要的。
想到一些方法:
有没有更好的方法来解决这个问题?
答案 0 :(得分:0)
您也许可以使用复制文件任务和通配符来获取所需的内容。
但是,如果您最终想要重命名工件文件夹以包含在第二个管道中,那么我将在下载工件文件夹之后继续对其进行重命名。
如果它简单地解决了问题并且易于理解,我不会称其为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'
答案 1 :(得分:0)