在应用程序的appsettings中通过Release / CD和Update Instrumentation键导入AppInsight Instrumentation Key

时间:2018-06-03 15:01:49

标签: azure azure-devops azure-application-insights azure-pipelines-release-pipeline

我有两个CD /发布定义;一个是针对Application Insight的ARM,另一个是用于部署App的CD。

  • 首先是在Azure中创建Application Insight。
  • 第二张CD用于部署App。[ App不是WebApp;它是在SF Cluster中部署的API ]

计划合并两个CD /版本定义并创建一张CD /版本定义。 创建Application Insight后,获取Instrumentation键并更新App的appsettings中的检测键。 从Github找到一个解决方案;这将通过ARM和PowerShell脚本中的“output”标记在部署完成后获取检测密钥。但它失败了 - https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/azure-resource-manager/resource-manager-templates-outputs.md#define-and-use-output-values

Get-AzureRmResourceGroupDeployment : Run Login-AzureRmAccount to login.
At D:\a\_temp\ded99e61-d7aa-40d7-979a-dfff517ed558.ps1:7 char:1
+ Get-AzureRmResourceGroupDeployment "XXXXXX"  "XXXXXXXXX"
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidOperation: (:) [Get-AzureRmResourceGroupDeployment], PSInvalidOperationException
+ FullyQualifiedErrorId : InvalidOperation,Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.GetAzur 
eResourceGroupDeploymentCmdlet
  • 代码明智我有两个解决方案,一个是面向App Insight的ARM,另一个是SF Cluster App Solution。我无法拉动所有ARM并将其合并到App解决方案中。

我的任务是 - enter image description here

CD在“PowerShell脚本”任务中失败。

请提供最佳方法。

1 个答案:

答案 0 :(得分:0)

运行与Azure交互的脚本时,请使用Azure PowerShell任务。

Azure Resource Group Deployment任务中的Deployment Outputs参数指定变量,您将获得一个填充了输出的变量(IIRC应包含部署名称)。它是一个JSON对象,因此您可以使用ConvertFrom-JSON对其进行解析。

如果指定名为Foo的变量,则可以在下游脚本$env:Foo中访问该变量。