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 |
字串 | 設定端點的易記名稱。 |
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
此外,如需服務連線類型的描述及其可能需要的其他參數,請參閱 管理服務連線、一般服務連線類型。
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-16be
utf-16le
。utf-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>