Конечная точка службы Azure DevOps CLI

Azure DevOps Services

az devops service-endpoint С помощью команды можно создавать и управлять различными типами подключений к службе. Подключение к службе позволяет Azure DevOps взаимодействовать с внешней службой, например Azure, Bitbucket, Kubernetes, Maven, GitHub и т. д. С помощью az devops service-endpointфункции можно выполнить следующие задачи:

  • Создание конечной точки службы с помощью файла конфигурации
  • Обновление конечной точки службы
  • Управление конечными точками и подключениями службы GitHub
  • Управление конечными точками и подключениями службы Azure Resource Manager
  • Вывод списка конечных точек службы, определенных для проекта
  • Получение сведений о конечной точке службы.

Подробные сведения о синтаксисе команд см. в разделе az devops service-endpoint. Синтаксис REST API для конечных точек службы см. в разделе "Конечные точки".

Вы также можете использовать команды Azure CLI для получения сведений, списка, удаления и обновления конечной точки службы. Ознакомьтесь с примерами azure DevOps CLI, конечными точками службы или подключениями к службам.

Сведения об использовании веб-портала для создания и изменения подключений служб см. в статье "Управление подключениями к службе".

Создание конечной точки службы с помощью файла конфигурации

Чтобы создать конечную точку службы с помощью файла конфигурации, необходимо сначала определить файл конфигурации. Содержимое файла конфигурации отличается в зависимости от типа подключения, например Классической версии Azure, Azure Data Обозреватель, Bitbucket Cloud, Chef и т. д.

Формат файла конфигурации

В следующем синтаксисе json показан формат файла конфигурации.

{
  "data": {},
  "name": "MyNewServiceEndpoint",
  "type": "Generic",
  "url": "https://myserver",
  "authorization": {
    "parameters": {
      "username": "myusername",
      "password": "mysecretpassword"
    },
    "scheme": "UsernamePassword"
  },
  "isShared": false,
  "isReady": true,
  "serviceEndpointProjectReferences": [
    {
      "projectReference": {
        "id": "c7e5f0b3-71fa-4429-9fb3-3321963a7c06",
        "name": "TestProject"
      },
      "name": "MyNewServiceEndpoint"
    }
  ]
}

В следующей таблице содержатся описания всех параметров. Параметр type поддерживает создание любой конечной точки службы.

Параметр Тип Описание:
name строка Задает понятное имя конечной точки.
type строка Задает тип конечной точки.
url строка Задает URL-адрес конечной точки.
authorization EndpointAuthorization Задает данные авторизации для разговора с конечной точкой.
isShared boolean Указывает, предоставляется ли конечная точка службы другим проектам или нет.
isReady boolean Индикатор состояния EndPoint.
serviceEndpointProjectReferences Справочник по проекту Задает ссылку на проект конечной точки службы.

Для списка поддерживаемых типов и необходимых входных параметров можно выполнить следующую запись REST API:

https://dev.azure.com/{organization}/_apis/serviceendpoint/types?api-version=6.0-preview.1

Кроме того, описание типов подключений службы и других параметров, которые могут потребоваться, см. в разделе "Управление подключениями служб", типами подключений common service.

Выполните команду create.

Вы создаете конечную точку службы с az devops service-endpoint create помощью команды.

az devops service-endpoint create --service-endpoint-configuration 
                                  [--encoding {ascii, utf-16be, utf-16le, utf-8}]
                                  [--org]
                                  [--project]

Параметры

  • service-endpoint-configuration: обязательный. Имя файла конфигурации с конфигурацией конечной json точки службы.
  • кодировка: необязательно. Кодировка входного файла. По умолчанию — utf-8. Принятые значения: ascii, utf-16be, utf-16leutf-8.
  • org: URL-адрес организации Azure DevOps. Вы можете настроить организацию по умолчанию с помощью az devops configure -d organization=ORG_URL. Требуется, если значение по умолчанию не настроено.
  • проект: имя или идентификатор проекта. Вы можете настроить проект по умолчанию с помощью az devops configure -d project=NAME_OR_ID. Требуется, если значение по умолчанию не настроено.

Пример

Следующая команда создает подключение службы, ссылающееся ServiceConnectionGeneric.json на файл.

az devops service-endpoint create --service-endpoint-configuration ./ServiceConnectionGeneric.json

После успешного создания возвращается конечная Id точка службы, а ответ, аналогичный следующему синтаксису.

{
  "administratorsGroup": null,
  "authorization": {
    "parameters": {
      "password": null,
      "username": "myusername"
    },
    "scheme": "UsernamePassword"
  },
  "createdBy": {
    "descriptor": "aad.OGYxZTFlODEtMGJiNC03N2ZkLThkYzUtYjE3MTNiNTQ2MjQ4",
    "directoryAlias": null,
    "displayName": "Jamal Hartnett",
    "id": "60c83423-4eb6-4c5e-8395-1e71cb4aef4c",
    "imageUrl": "https://dev.azure.com/fabrikam/_apis/GraphProfile/MemberAvatars/aad.OGYxZTFlODEtMGJiNC03N2ZkLThkYzUtYjE3MTNiNTQ2MjQ4",
    "inactive": null,
    "isAadIdentity": null,
    "isContainer": null,
    "isDeletedInOrigin": null,
    "profileUrl": null,
    "uniqueName": "fabrikamfiber4@hotmail.com",
    "url": "https://spsprodwcus0.vssps.visualstudio.com/A0214b8cc-a36c-4b93-abbf-6348473c2f0a/_apis/Identities/60c83423-4eb6-4c5e-8395-1e71cb4aef4c"
  },
  "data": {},
  "description": null,
  "groupScopeId": null,
  "id": "3b6890ef-54b3-47ec-a907-a5d2f96237da",
  "isReady": true,
  "isShared": false,
  "name": "MyNewServiceEndpoint",
  "operationStatus": null,
  "owner": "library",
  "readersGroup": null,
  "serviceEndpointProjectReferences": [
    {
      "name": "MyNewServiceEndpoint",
      "projectReference": {
        "id": "677da0fb-b067-4f77-b89b-f32c12bb8617",
        "name": null
      }
    }
  ],
  "type": "Generic",
  "url": "https://myserver"
}

Создание конечной точки службы GitHub

Чтобы создать конечную точку службы GitHub, используйте az devops service-endpoint github create команду:

az devops service-endpoint github create --github-url
                                         --name 
                                         [--org]
                                         [--project]

В интерактивном режиме az devops service-endpoint github create команда запрашивает маркер GitHub PAT с помощью сообщения командной строки, чтобы задать маркер GitHub PAT с помощью переменной AZURE_DEVOPS_EXT_GITHUB_PAT среды. Дополнительные сведения см. в разделе "Вход с помощью личного маркера доступа( PAT)".

Создание конечной точки службы Azure Resource Manager

Чтобы создать конечную точку службы Azure Resource Manager, используйте az devops service-endpoint azurerm create команду.

az devops service-endpoint azurerm create --azure-rm-service-principal-id
                                          --azure-rm-subscription-id
                                          --azure-rm-subscription-name
                                          --azure-rm-tenant-id
                                          --name
                                          [--azure-rm-service-principal-certificate-path] 
                                          [--org]
                                          [--project]

Использование секрета или пароля клиента

В интерактивном режиме az devops service-endpoint azurerm create команда запрашивает пароль или секрет субъекта-службы с помощью сообщения запроса. В целях автоматизации задайте пароль или секрет субъекта-службы с помощью переменной AZURE_DEVOPS_EXT_AZURE_RM_SERVICE_PRINCIPAL_KEY среды.

export AZURE_DEVOPS_EXT_AZURE_RM_SERVICE_PRINCIPAL_KEY=<your_secret_here>
$env:AZURE_DEVOPS_EXT_AZURE_RM_SERVICE_PRINCIPAL_KEY=<your_secret_here>

Использование сертификата клиента

Если приложение Microsoft Entra использует сертификат для проверки подлинности, создайте PEM-файл для сертификата и передайте путь к PEM-файлу с помощью аргумента --azure-rm-service-principal-certificate-path .

Вы можете создать pem-файл с помощью opensl:

openssl pkcs12 -in file.pfx -out file.pem -nodes -password pass:<password_here>