Как мы можем автоматизировать процесс создания сервисного соединения в azure devops - PullRequest
0 голосов
/ 13 марта 2020

Учитывая, что azure настройка службы приложения выполняется на портале azure и azure devops конвейер также настраивается, кроме подключения к услуге. Есть ли способ автоматизировать создание сервисных подключений с помощью инфраструктуры yaml, основанной на шаблонах arm? Мы хотим запустить этот конвейер и обновить подключение службы в конвейере пользователя yaml.

1 Ответ

2 голосов
/ 13 марта 2020

Есть ли способ автоматизировать создание сервисных подключений с использованием инфраструктуры yaml конвейера на основе шаблонов arm?

Шаблон ARM используется для развертывания службы azure. Он не может использоваться для создания служебного соединения в azure devops до сих пор.

Исходя из вашего сценария, я думаю, вы можете рассмотреть возможность использования rest api с помощью Задача Powershell с приведенным ниже сценарием:

$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

Вы увидите, что соответствующее подключение к службе создается после выполнения этой задачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...