发布于 2021-01-03 17:29:02
对于部署模板,每个变量都必须使用此语法${var_name}。当运行部署文件生成时,变量将被同名的主机环境变量替换。
例如,我的deployment.template.json中有${CONTAINER_REGISTRY_PASSWORD}和${CONTAINER_REGISTRY_PASSWORD}。在我的主机上,CONTAINER_REGISTRY_USERNAME和CONTAINER_REGISTRY_PASSWORD集有环境变量。当任务运行时,它们将被替换。
要使它在管道中工作,必须在主机上添加环境变量。在AzureDevOps中,您必须创建一个库(https://learn.microsoft.com/en-us/azure/devops/pipelines/library/variable-groups?view=azure-devops&tabs=yaml)。
在管道中,您可以使用此任务使生成:
- task: AzureIoTEdge@2
displayName: 'Generate deployment manifest - amd64'
inputs:
action: 'Generate deployment manifest'
templateFilePath: 'EdgeModule/deployment.template.json'
defaultPlatform: 'amd64'
deploymentManifestOutputPath: '$(System.DefaultWorkingDirectory)/config/deployment-amd64.json'
validateGeneratedDeploymentManifest: 'true'
fillRegistryCredential: 'true'我有一个带有默认iotedge模板的github项目,包括一个用于单元测试、代码覆盖、构建和推送映像、生成部署清单和部署到iothub的完整管道。
https://github.com/MaxThom/IoTEdgeModule-Template
祝你好运:)
发布于 2020-06-18 23:48:55
此项目是使用Visual代码IoT边缘扩展(https://marketplace.visualstudio.com/items?itemName=vsciot-vscode.azure-iot-tools)生成的。它是用于生成实际IoT边缘部署文件的模板。当扩展从该模板创建部署文件时,它将用所需的值替换这些变量。这是一个没有公开因而没有文档化的实现细节。
https://stackoverflow.com/questions/62427297
复制相似问题