我想查看预定义变量路径中存储的值,例如$(System.DefaultWorkingDirectory)
,我想查看其中存储的值。但是我无法找到变量的值,那么在Azure DevOps中我应该去哪里查找它。
简单来说,我如何检查特定发布流水线中使用的Build.SourcesDirectory或Build.Repository.LocalPath是什么?
我想查看预定义变量路径中存储的值,例如$(System.DefaultWorkingDirectory)
,我想查看其中存储的值。但是我无法找到变量的值,那么在Azure DevOps中我应该去哪里查找它。
简单来说,我如何检查特定发布流水线中使用的Build.SourcesDirectory或Build.Repository.LocalPath是什么?
我不确定您是否在Azure DevOps中找到了特定位置的值。 根据所选择的代理操作系统,这些值可能会有所不同。 但是,您始终可以将它们打印出来。 请查看此处的文档。
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)
您还可以使用第三方扩展程序Print all variables。 - 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'
- pwsh: (gci env:* | sort-object name)
- Joe简单的回答:
- bash: |
env | sort
displayName: 'Debug: Show Env Vars'