gpt4 book ai didi

Azure Pipeline - 如何使delayForMinutes任务使用变量中的值而不是硬编码值

转载 作者:行者123 更新时间:2023-12-03 06:55:38 24 4
gpt4 key购买 nike

如何使延迟任务从变量中获取值而不是延迟ForMinutes输入的硬编码值?
当我执行以下操作时,它工作正常:

- job: WaitForDeploy
dependsOn: Main
pool: Server
steps:
- task: Delay@1
inputs:
delayForMinutes: '1'

但是当我这样做时它不会:

- job: WaitForDeploy
dependsOn: Main
pool: Server
steps:
- task: Delay@1
inputs:
delayForMinutes: '$(SleepCount)'

$(SleepCount) 在变量中定义为空字符串,然后通过以下方式从 python 脚本传递到管道:print(f'##vso[task.setvariable 变量=SleepCount]{delay_seconds}')我在之前的作业中打印出来,它正确显示了 intiger:

- script: 'echo $(SleepCount)'
displayName: "print_sleep_count"

看起来这个变量值没有传递到我从 python 脚本返回它的作业之外,如何传递它?
这不起作用:

variables:
SleepCount: ""

jobs:
- job: Main
pool:
name: 'CDaaSLinux'

[...]

- task: PythonScript@0
inputs:
scriptSource: 'filePath'
scriptPath: '$(Build.SourcesDirectory)/sleep_count.py'
env:
ACTUAL_START_DATE: $(ActualStartDate_value)

- script: 'echo $(SleepCount)'
name: setVariable
displayName: "print_sleep_count"

- script: 'echo "Waiting for Deploy for $(SleepCount) minutes"'
displayName: "Deploy_message_for_user"

- job: WaitForDeploy
dependsOn: Main
variables:
SleepCount: $[ dependencies.Main.outputs['setVariable.SleepCount']]
pool: Server
steps:
- task: Delay@1
inputs:
delayForMinutes: '$(SleepCount)'

最佳答案

为了在不同的阶段/作业中使用变量,您需要在设置变量时设置 isoutput 标志

print(f'##vso[task.setvariable variable=SleepCount;isoutput=true]{delay_seconds}')

Set an output variable for use in future jobs

关于Azure Pipeline - 如何使delayForMinutes任务使用变量中的值而不是硬编码值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72992621/

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