Share via


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 數據總管、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 string 設定端點的易記名稱。
type string 設定端點的類型。
url string 設定端點的 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

此外,如需服務連線類型的描述及其可能需要的其他參數,請參閱 管理服務連線、一般服務連線類型

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 組態檔名稱。
  • encoding:選擇性。 輸入檔的編碼方式。 預設值為 utf-8。 接受的值:ascii、、、utf-16beutf-16leutf-8
  • 組織:Azure DevOps 組織 URL。 您可以使用 來設定預設組織 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 令牌 ,以便自動化 AZURE_DEVOPS_EXT_GITHUB_PAT 使用環境變數來設定 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 檔案,並使用 --azure-rm-service-principal-certificate-path 自變數將路徑傳遞至 .pem 檔案。

您可以使用 openssl 建立 a.pem 檔案:

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