首页 > 解决方案 > 标记为未定义的 Azure Pipeline Secret 环境变量

问题描述

当我将环境变量 (Pipeline -> Library) 标记为secret时,我似乎无法在我的管道运行中访问它。

例如,当我尝试访问该变量时,Node.js 将其标记为undefined.

以下是我从 Azure Pipelines YAML 文件导入的代码:

variables:
- group: Foo-Bar-Variables

我有什么办法可以访问秘密变量吗?我不喜欢将它们存储为纯文本。

感谢您的帮助。

标签: azureazure-devopsenvironment-variablesazure-pipelines

解决方案


我有什么办法可以访问秘密变量吗?我不喜欢将它们存储为纯文本。

就像官方文档Set secret variables一样,我们可以知道:

每个需要使用密钥作为环境变量的任务都会重新映射。如果要使用mySecret从脚本调用的秘密变量,请使用脚本任务输入变量的 Environment 部分。将环境变量名称设置为MYSECRET,并将值设置为$(mySecret)

- task: xxxx
  displayName: 'xxxx'
  env:
    SOMEVAR: '$(TestVar)'
  inputs:

此外,目前,我们必须手动声明我们将在 yaml 文件中使用的所有秘密变量。

希望这可以帮助。


推荐阅读