获取 Azure 管道中 PowerShell 命令中的管道"name"值



我的azure-pipeline.yml设置了一个名为name的特殊神奇变量,该变量导致设置管道名称。

我想在PowerShell脚本中使用这个值,将这个值作为设置放入文本文件中。

variables:
System.Debug: true
versionNumber: '0.0.0' 
namePrefix: 'yml_$(versionNumber).'
buildConfiguration: 'Release'
tag: '-yml-$(versionNumber)'
publishBuildArtifactsSubfolder: 'yml$(Build.Repository.Name)_yml_$(versionNumber).'
name: ${{ variables['namePrefix']}}$(Build.BuildId)
steps:
# Find and replace in files. PowerShell because bash isn't available.
- task: PowerShell@2
displayName: Set version number in environment.*.ts
inputs:
targetType: 'inline'
script: |
Write-Host "Build.DefinitionName is $(Build.DefinitionName)"
Write-Host "env-name is $($env:name)"
Write-Host "name is $($name)"
#Get-ChildItem 'environment.*.ts' -Recurse | ForEach {
#  (Get-Content $_ | ForEach  { $_ -replace '[[name]]', '${Build.DefinitionName}' }) | Set-Content $_
#}

是否可以在PowerShell脚本中获得name的值?如何?

解决方案

似乎不可能得到特殊的name,因此设置一个具有相同值的变量。

variables:
System.Debug: true
versionNumber: '0.0.0' 
namePrefix: 'yml_$(versionNumber).'
buildConfiguration: 'Release'
tag: '-yml-$(versionNumber)'
publishBuildArtifactsSubfolder: 'yml$(Build.Repository.Name)_yml_$(versionNumber).'
name: ${{ variables['namePrefix']}}$(Build.BuildId)
steps:
- task: PowerShell@2
inputs:
targetType: 'inline'
script: |
Write-Host "name is $($name)"

是的,name它是一个预定义的变量Build.BuildNumber,所以只使用$(Build.BuildNumber)

相关内容

  • 没有找到相关文章

最新更新