gpt4 book ai didi

powershell - Azure DevOps 构建管道 - 无法在脚本中访问 $(Build.BuildNumber)

转载 作者:行者123 更新时间:2023-12-03 18:15:04 24 4
gpt4 key购买 nike

在我的构建管道中,我正在执行以下操作:

  • 从 Git 恢复
  • Powershell 脚本 - 检索构建
    编号并将其写入 json 文件之前....
  • 构建解决方案
  • 存档文件
  • 发布工件。

  • 在第 2 步中,Powershell 脚本非常简单:

    定义的环境变量:
    Name: buildNumber  Value: $(Build.BuildNumber)
    Name: rootPath Value:$(Build.ArtifactStagingDirectory)

    代码:
    $theFile = Get-ChildItem -Path $rootPath -Recurse -Filter "host.json" | Select-Object -First 1
    $propertyName = "BuildNumber"

    if($theFile)
    {
    $json = Get-Content "$theFile" | Out-String | ConvertFrom-Json
    if($json.$propertyName)
    {
    $json.$propertyName = $buildNumber
    }else{
    Add-Member -InputObject $json -MemberType NoteProperty -Name $propertyName -Value $buildNumber
    }
    $json | ConvertTo-Json -depth 100 | Out-File "$theFile"

    }
    else
    {
    Write-Warning "Found no files."
    }

    出于某种原因,我的 $buildNumber 返回 null。 $rootPath 正在工作。
    我无法在构建步骤之外访问 $(Build.BuildNumber) 吗?内部版本号格式在管道选项中定义,它在标记版本时工作正常,但我无法在我的 powershell 脚本中访问它。

    有什么想法吗?

    最佳答案

    使用 $env:BUILD_BUILDNUMBER而不是 $(...)符号。

    different notations for different script types in the docs .

    关于powershell - Azure DevOps 构建管道 - 无法在脚本中访问 $(Build.BuildNumber),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52899564/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com