gpt4 book ai didi

azure 管道条件始终返回 false

转载 作者:行者123 更新时间:2023-12-03 02:20:40 25 4
gpt4 key购买 nike

我正在尝试检查我的阶段特定变量 sourceCodeChanged 是否等于 true。如果它是true,那么应该执行该阶段,否则应该跳过该阶段。我可以通过使用 condition 并将 sourceCodeChangedtrue 进行比较来做到这一点。然而这对我不起作用。我做错了什么?

这是我的 azure-pipelines.yml 中的一个片段:

 - stage: build
dependsOn: determineChanges
variables:
sourceCodeChanged: stageDependencies.determineChanges.checkChanges.outputs['check_changes.SOURCE_CODE_CHANGED']
condition: and(succeeded(), eq(variables.sourceCodeChanged, 'true'))
jobs:
- job: buildBinaries
displayName: Build Binaries
steps:
- bash: echo $(sourceCodechanged)
displayName: TestOutPutDeleteMe #debugging step

我实现了一个名为 TestOutPutDeleteMe 的调试步骤。当步骤 TestOutPutDeleteMe 执行时,它会打印出 true,这意味着该值已正确分配给 sourceCodeChanged。如果我尝试在 eq() 函数中使用变量 sourceCodeChanged,它总是为条件分配 false 并跳过该阶段中的所有步骤。

最佳答案

azure pipeline condition always returns false

这是因为您在舞台级别使用条件。请尝试使用以下条件:

 - stage: build
dependsOn: determineChanges
condition: eq(Dependencies.determineChanges.outputs['checkChanges.check_changes.SOURCE_CODE_CHANGED'], 'true')

请注意,我们需要更新从 stageDependency.stageName.jobName.outputs['stepName.variableName']Dependency.stageName.outputs['jobName.stepName.variableName] 的阶段引用']

并且不使用变量作为值Dependency.defineChanges.outputs['checkChanges.check_changes.SOURCE_CODE_CHANGED']

我的测试结果:

stages:
- stage: stageA
jobs:
- job: A
pool:
name: Default
steps:
- task: PowerShell@2
displayName: "create a variable"
inputs:
targetType: 'inline'
script: |
Write-Host "##vso[task.setvariable variable=CustomVar;isOutput=true]true"
name: CustomVariable

- stage: stageB
dependsOn: stageA
condition: eq(Dependencies.stageA.outputs['A.CustomVariable.CustomVar'], 'true')
jobs:
- job: A
pool:
name: Default
steps:
- task: PowerShell@2
displayName: "output the variable"
inputs:
targetType: 'inline'
script: |
Write-Host "hello world"

enter image description here

关于 azure 管道条件始终返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69177853/

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