Azure devops 我们如何在azure devops中自动化服务连接创建过程

Azure devops 我们如何在azure devops中自动化服务连接创建过程,azure-devops,azure-pipelines,Azure Devops,Azure Pipelines,考虑到azure应用程序服务安装是在azure门户中完成的,并且azure devops管道也已安装,但服务连接除外。 有没有一种方法可以使用基于arm模板的基础设施yaml管道自动创建服务连接? 我们希望运行此管道并更新用户yaml管道中的服务连接 有没有一种方法可以使用arm自动创建服务连接 基于模板的基础设施yaml管道 ARM模板用于部署azure服务。直到现在,它还不能用于在azure devops中创建服务连接 基于您的场景,我认为您可以考虑使用PuxBeice任务使用以下脚本: $

考虑到azure应用程序服务安装是在azure门户中完成的,并且azure devops管道也已安装,但服务连接除外。 有没有一种方法可以使用基于arm模板的基础设施yaml管道自动创建服务连接? 我们希望运行此管道并更新用户yaml管道中的服务连接

有没有一种方法可以使用arm自动创建服务连接 基于模板的基础设施yaml管道

ARM模板用于部署azure服务。直到现在,它还不能用于在azure devops中创建服务连接

基于您的场景,我认为您可以考虑使用PuxBeice任务使用以下脚本:

$token = "{PAT token}"

$url="https://dev.azure.com/{org name}/{project name}/_apis/serviceendpoint/endpoints?api-version=5.1-preview.2"

$token = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($token)"))

$body = @"
{
  "authorization": {
    "parameters": {
      "tenantid": "{tenant id}",
      "serviceprincipalid": "{principal id}",
      "authenticationType": "spnKey",
      "serviceprincipalkey": "{principal key}"
    },
    "scheme": "ServicePrincipal"
  },
  "data": {
    "subscriptionId": "{subscription id}",
    "subscriptionName": "{subscription name}",
    "environment": "AzureCloud",
    "scopeLevel": "Subscription"
  },
  "name": "{service connection name}",
  "type": "azurerm",
  "url": "https://management.azure.com/"
}
"@

$response = Invoke-RestMethod -Uri $url -Headers @{Authorization = "Basic $token"} -Method Post -Body $Body -ContentType application/json
您将看到相应的服务连接是在执行此任务后创建的

有没有一种方法可以使用arm自动创建服务连接 基于模板的基础设施yaml管道

ARM模板用于部署azure服务。直到现在,它还不能用于在azure devops中创建服务连接

基于您的场景,我认为您可以考虑使用PuxBeice任务使用以下脚本:

$token = "{PAT token}"

$url="https://dev.azure.com/{org name}/{project name}/_apis/serviceendpoint/endpoints?api-version=5.1-preview.2"

$token = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($token)"))

$body = @"
{
  "authorization": {
    "parameters": {
      "tenantid": "{tenant id}",
      "serviceprincipalid": "{principal id}",
      "authenticationType": "spnKey",
      "serviceprincipalkey": "{principal key}"
    },
    "scheme": "ServicePrincipal"
  },
  "data": {
    "subscriptionId": "{subscription id}",
    "subscriptionName": "{subscription name}",
    "environment": "AzureCloud",
    "scopeLevel": "Subscription"
  },
  "name": "{service connection name}",
  "type": "azurerm",
  "url": "https://management.azure.com/"
}
"@

$response = Invoke-RestMethod -Uri $url -Headers @{Authorization = "Basic $token"} -Method Post -Body $Body -ContentType application/json

您将看到相应的服务连接是在执行此任务后创建的。

如果您通过UI创建服务连接,则可以获得该类型服务连接的特定JSON。打开开发工具F12,然后打开网络日志记录。查找POST to端点,然后将请求复制出去。将其格式化为JSON,您就有了一些东西可以在以后重复使用。或者您可以使用Frogy制作一个完全定制的。如果通过UI创建服务连接,则可以获取该类型服务连接的特定JSON。打开开发工具F12,然后打开网络日志记录。查找POST to端点,然后将请求复制出去。将其格式化为JSON,您就有了一些东西可以在以后重复使用。或者您可以使用Frogy制作一个完全定制的。