如何在 Azure Devops 中查看预定义变量

How to see the Predefined Variables in Azure Devops

我想查看作为预定义变量路径的值,例如 $(System.DefaultWorkingDirectory) 我想查看存储在其中的值。 我找不到这个变量值,所以我可以在 Azure devops 中的什么地方找到它。

简而言之,我如何检查特定发布管道中使用的 Build.SourcesDirectory 或 Build.Repository.LocalPath 是什么?

我不确定你是否在 Azure DevOps 中找到了一个特定的地方,背后的价值是什么。值可能会略有不同,具体取决于您 OS 您 select 您的代理人。但是,您始终可以将它们打印出来。请检查 doc here.

steps:
  - bash: echo $(System.DefaultWorkingDirectory)

要打印所有变量,您可以使用此步骤(因为脚本也可以通过环境变量使用变量)

 steps: # 'Steps' section is to be used inside 'job' section.
  - task: Bash@3
    inputs:
      targetType: 'inline'
      script: 'env | sort'

适用于 Windows 和 Linux 的另一个选项是(所有功劳都归功于 Joe):

- pwsh: (gci  env:* | sort-object name)

你也可以使用第三方扩展打印所有变量

  - task: printAllVariables@1
    displayName: 'Print all variables via extension'

或像这样的表达式:

  - ${{ each var in variables }}:
    - pwsh: Write-Host "${{ var.Key }} - ${{ var.Value }}"
      displayName: 'Print variables via expression in the loop'

这是一个示例管道:

trigger: none
pr: none

name: Display pipeline variables

variables:
- group: DisplayPipelineVariables
- name: DB_HOSTNAME
  value: 10.123.56.222
- name: DB_PORTNUMBER
  value: 1521
- name: USERNAME
  value: TEST
- name: PASSWORD
  value: TEST
- name: SCHEMANAME
  value: SCHEMA  
- name: ACTIVEMQNAME
  value: 10.123.56.223
- name: ACTIVEMQPORT
  value: 8161

pool:
  vmImage: $(imageName)

jobs:
- job: AllEnvironmentVariables
  strategy:
    matrix:
      linux:
        imageName: 'ubuntu-latest'
      mac:
        imageName: 'macOS-latest'
      windows:
        imageName: 'windows-latest'
  steps:
  - script: env | sort
    displayName: Display all environment variables

- job: PipelineVariablesViaExtension
  strategy:
    matrix:
      linux:
        imageName: 'ubuntu-latest'
      mac:
        imageName: 'macOS-latest'
      windows:
        imageName: 'windows-latest'
  steps:
  - task: printAllVariables@1
    displayName: 'Print all variables via extension'

- job: PipelineVariablesViaExpression
  strategy:
    matrix:
      linux:
        imageName: 'ubuntu-latest'
      mac:
        imageName: 'macOS-latest'
      windows:
        imageName: 'windows-latest'
  steps:
  - pwsh: Write-Host "${{ convertToJson(variables) }}"
    displayName: 'Print all variables via expression'

- job: PipelineVariablesViaExpressionInLoop
  strategy:
    matrix:
      linux:
        imageName: 'ubuntu-latest'
      mac:
        imageName: 'macOS-latest'
      windows:
        imageName: 'windows-latest'
  steps:
  - ${{ each var in variables }}:
    - pwsh: Write-Host "${{ var.Key }} - ${{ var.Value }}"
      displayName: 'Print variables via expression in the loop'