可以通过使用PowerShell任务和管道变量来实现文件名中的版本控制。以下是一个示例代码:
task: PowerShell@2 inputs: targetType: 'inline' script: | $version = "$(Build.BuildNumber)" Write-Host "##vso[task.setvariable variable=myVersion]$version" displayName: 'Set Build Version'
task: CopyFiles@2 inputs: Contents: '**/*.dll' TargetFolder: '$(Build.ArtifactStagingDirectory)/$(Build.BuildNumber)/bin' CleanTargetFolder: true FlattenFolders: true OverWrite: true displayName: 'Copy Files'
task: PublishBuildArtifacts@1 inputs: PathtoPublish: '$(Build.ArtifactStagingDirectory)/$(Build.BuildNumber)' ArtifactName: 'drop' publishLocation: 'Container' displayName: 'Publish Artifact'
这段代码将Pipeline的版本号存储在名为myVersion的变量中。然后,它将bin文件夹中的所有.dll文件复制到以版本号命名的文件夹中。最后,代码将文件夹发布为drop,以使其可以从发布管道中访问。注意,PublishBuildArtifacts任务将使用Build.BuildNumber来命名directory。