如何在 Azure DevOps 中替换“deployment.template.json”中的 IoT Edge 环境变量
How to substitute IoT Edge env variables in “deployment.template.json” in Azure DevOps
我想将 Azure DevOps 用于 IoT Edge 项目,其中一些机密应通过 json 文件传递。
这是 deployment.template.json 文件的片段:
"env": {
"mappedFolder": { "value": "/temp" },
"netatmoClientId": { "value": "${netatmoClientId}" },
"netatmoClientSecret": { "value": "${netatmoClientSecret}" },
"netatmoUsername": { "value": "${netatmoUsername}" },
"netatmoPassword": { "value": "${netatmoPassword}" },
本地一切正常。我有 .env 文件,json 中的值将在构建过程中被正确替换。
如何在 Azure DevOps 中使用相同的行为?
我已经声明了 devops 管道变量,但是 json 文件中的占位符没有从变量中替换。
您可以在 Azure DevOps 发布管道中使用此任务Replace Tokens。
第 1 步: 像这样更新令牌前缀。
第 2 步:像这样更新您的模板。
"netatmoClientId": { "value": "$(netatmoClientId)" },
"netatmoClientSecret": { "value": "$(netatmoClientSecret}) },
"netatmoUsername": { "value": "$(netatmoUsername)" },
"netatmoPassword": { "value": "$(netatmoPassword)" }
第三步:在Variable Groups或Release Pipeline Variables中定义以上变量
步骤 4:使用 替换令牌 任务,如下所示。
这个要求可以通过在 Azure DevOps 中使用秘密文件来实现。
- .env 文件必须上传到 Azure Devops 库“安全文件”
- 正在将任务添加到管道“下载安全文件”并指向 .env 文件
steps:
- task: DownloadSecureFile@1
displayName: 'Download secure file'
inputs:
secureFile: .env
- 将任务添加到管道“将文件复制到”以将 env 文件复制到工作目录。
steps:
- task: CopyFiles@2
displayName: 'Copy Files to: MyProjectName'
inputs:
SourceFolder: '$(Agent.TempDirectory)'
Contents: .env
TargetFolder: MyProjectName
我想将 Azure DevOps 用于 IoT Edge 项目,其中一些机密应通过 json 文件传递。 这是 deployment.template.json 文件的片段:
"env": {
"mappedFolder": { "value": "/temp" },
"netatmoClientId": { "value": "${netatmoClientId}" },
"netatmoClientSecret": { "value": "${netatmoClientSecret}" },
"netatmoUsername": { "value": "${netatmoUsername}" },
"netatmoPassword": { "value": "${netatmoPassword}" },
本地一切正常。我有 .env 文件,json 中的值将在构建过程中被正确替换。
如何在 Azure DevOps 中使用相同的行为?
我已经声明了 devops 管道变量,但是 json 文件中的占位符没有从变量中替换。
您可以在 Azure DevOps 发布管道中使用此任务Replace Tokens。
第 1 步: 像这样更新令牌前缀。
第 2 步:像这样更新您的模板。
"netatmoClientId": { "value": "$(netatmoClientId)" },
"netatmoClientSecret": { "value": "$(netatmoClientSecret}) },
"netatmoUsername": { "value": "$(netatmoUsername)" },
"netatmoPassword": { "value": "$(netatmoPassword)" }
第三步:在Variable Groups或Release Pipeline Variables中定义以上变量
步骤 4:使用 替换令牌 任务,如下所示。
这个要求可以通过在 Azure DevOps 中使用秘密文件来实现。
- .env 文件必须上传到 Azure Devops 库“安全文件”
- 正在将任务添加到管道“下载安全文件”并指向 .env 文件
steps:
- task: DownloadSecureFile@1
displayName: 'Download secure file'
inputs:
secureFile: .env
- 将任务添加到管道“将文件复制到”以将 env 文件复制到工作目录。
steps:
- task: CopyFiles@2
displayName: 'Copy Files to: MyProjectName'
inputs:
SourceFolder: '$(Agent.TempDirectory)'
Contents: .env
TargetFolder: MyProjectName