【问题标题】:Dev Ops is changing a variableDev Ops 正在改变一个变量
【发布时间】:2021-10-11 17:12:29
【问题描述】:

我有一个如下所示的 DevOps 构建脚本:

variables:
  MyConnectionString: ''

stages:
  - stage: BuildApp
   . . .
   # build app
   . . .

    - job: RunApp
      steps:

      - script: |        
          echo ${{variables.MyConnectionString}}

我遇到的问题是连接字符串没有进入脚本 - 我已经在编辑变量中设置了它,但它是空白的。我尝试直接在脚本中设置它,但是当我这样做时,它似乎截断了分号处的值。

我觉得我缺少关于这些变量如何工作的基本知识。请有人能指出我正确的方向吗?

【问题讨论】:

    标签: azure-devops yaml


    【解决方案1】:

    您调用变量的方式实际上是针对管道参数或变量模板表达式

    将变量或组变量调用到任务中应该只使用macro syntax interpolation$(MyConnectionString) 语法。

    所以改成:

    echo $(MyConnectionString)
    

    或使用其他定义变量的格式(通常在您还指代变量组时使用)

    variables:
    - group: myVarGroup
    - name: MyConnectionString
      value: connectioncreds
    

    此外,请务必查看this article 了解有关 devops 变量的更多信息。

    【讨论】:

    • 我试过你的建议,但值还是空
    • 连接字符串的结构如何?你能试着放一个简单的单个字符串或数字,看看它是否出现?
    • 是的,我已经尝试过了——无论我把它作为变量放在那里,它都不会通过
    • 您可以尝试我在答案中发布的其他格式吗?还有 BuildApp 部分怎么样 - 你有没有任何脚本也能够/不能调用管道变量?
    • 您能否分享您的管道的完整工作版本(删除任何敏感行等),我可以用来在我的末端重现?到目前为止,我所做的所有测试似乎都还可以。您的 yaml 本身可能有问题。
    猜你喜欢
    • 2021-09-01
    • 2020-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-21
    • 2015-03-03
    • 2023-03-08
    • 2013-03-14
    相关资源
    最近更新 更多