Megosztás a következőn keresztül:


Azure DevOps CLI szolgáltatásvégpont

Azure DevOps Services

A az devops service-endpoint paranccsal különböző típusú szolgáltatáskapcsolatokat hozhat létre és kezelhet. A szolgáltatáskapcsolat lehetővé teszi, hogy az Azure DevOps kommunikáljon egy külső szolgáltatással, például az Azure-ral, a Bitbuckettel, a Kubernetes-lel, a Mavennel, a GitHubbal stb. A következő az devops service-endpointfeladatokat hajthatja végre:

  • Szolgáltatásvégpont létrehozása konfigurációs fájl használatával
  • Szolgáltatásvégpont frissítése
  • GitHub-szolgáltatásvégpontok/kapcsolatok kezelése
  • Azure Resource Manager-szolgáltatásvégpontok/kapcsolatok kezelése
  • Projekthez definiált szolgáltatásvégpontok listázása
  • A szolgáltatásvégpont részleteinek lekérése.

A részletes parancs szintaxisát lásd: az devops service-endpoint. A szolgáltatásvégpontokHOZ tartozó REST API szintaxisát lásd : Végpontok.

Az Azure Cli parancsaival is lekérheti a szolgáltatásvégpont részleteit, listázhatja, törölheti és frissítheti. Lásd : Indexelés az Azure DevOps CLI-be példák, szolgáltatásvégpontok vagy szolgáltatáskapcsolatok.

A webportál szolgáltatáskapcsolatok létrehozásához és szerkesztéséhez lásd: Szolgáltatáskapcsolatok kezelése.

Szolgáltatásvégpont létrehozása konfigurációs fájl használatával

Ha egy szolgáltatásvégpontot konfigurációs fájllal szeretne létrehozni, először meg kell határoznia a konfigurációs fájlt. A konfigurációs fájl tartalma a kapcsolat típusától függően eltérő, például az Azure Classic, az Azure Data Explorer, a Bitbucket Cloud, a Chef stb.

Konfigurációs fájlformátum

Az alábbi szintaxis a json konfigurációs fájl formátumát mutatja.

{
  "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"
    }
  ]
}

Az alábbi táblázat az egyes paramétereket ismerteti. A type paraméter bármilyen típusú szolgáltatásvégpont létrehozását támogatja.

Paraméter Típus Leírás
name húr Beállítja a végpont rövid nevét.
type húr Beállítja a végpont típusát.
url húr Beállítja a végpont URL-címét.
authorization EndpointAuthorization Beállítja az engedélyezési adatokat a végponthoz való beszélgetéshez.
isShared Logikai Azt jelzi, hogy a szolgáltatásvégpont meg van-e osztva más projektekkel.
isReady Logikai EndPoint-állapotjelző.
serviceEndpointProjectReferences Projekthivatkozás Beállítja a szolgáltatásvégpont projekthivatkozását.

A támogatott típusok és a szükséges bemeneti paraméterek listájához a következő REST API-bejegyzést használhatja:

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

A szolgáltatáskapcsolatok típusainak és az általuk igényelt egyéb paramétereknek a leírását lásd: Szolgáltatáskapcsolatok kezelése, Gyakori szolgáltatáskapcsolattípusok.

A create parancs futtatása

Hozzon létre egy szolgáltatásvégpontot a az devops service-endpoint create paranccsal.

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

Paraméterek

  • service-endpoint-configuration: Kötelező. json A szolgáltatásvégpont-konfigurációval rendelkező konfigurációs fájl neve.
  • kódolás: Nem kötelező. A bemeneti fájl kódolása. Az alapértelmezett szint a utf-8. Elfogadott értékek: ascii, utf-16be, utf-16le. utf-8
  • org: Azure DevOps-szervezet URL-címe. Az alapértelmezett szervezetet konfigurálhatja a következővel az devops configure -d organization=ORG_URL: . Kötelező, ha nincs alapértelmezettként konfigurálva.
  • projekt: A projekt neve vagy azonosítója. Az alapértelmezett projektet konfigurálhatja a következővel az devops configure -d project=NAME_OR_ID: . Kötelező, ha nincs alapértelmezettként konfigurálva.

Példa

Az alábbi parancs létrehoz egy szolgáltatáskapcsolatot, amely hivatkozik a fájlra ServiceConnectionGeneric.json .

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

Sikeres létrehozás esetén a szolgáltatásvégponthoz rendel egy Id , az alábbi szintaxishoz hasonló választ.

{
  "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-szolgáltatásvégpont létrehozása

GitHub-szolgáltatásvégpont létrehozásához használja a az devops service-endpoint github create következő parancsot:

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

Interaktív módban a az devops service-endpoint github create parancs kér egy GitHub PAT-jogkivonatot egy parancssori üzenettel, automatizálási célból állítsa be a GitHub PAT-jogkivonatot a AZURE_DEVOPS_EXT_GITHUB_PAT környezeti változó használatával. További információ: Bejelentkezés személyes hozzáférési jogkivonattal (PAT).

Azure Resource Manager-szolgáltatásvégpont létrehozása

Azure Resource Manager-szolgáltatásvégpont létrehozásához használja a az devops service-endpoint azurerm create parancsot.

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]

Ügyfélkód/jelszó használata

Interaktív módban a az devops service-endpoint azurerm create parancs egy egyszerű jelszó/titkos kód megadását kéri egy parancssori üzenet használatával. Automatizálási célokra állítsa be a szolgáltatásnév jelszavát/titkos kulcsát a AZURE_DEVOPS_EXT_AZURE_RM_SERVICE_PRINCIPAL_KEY környezeti változó használatával.

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

Ügyféltanúsítvány használata

Ha a Microsoft Entra alkalmazás tanúsítványt használ a hitelesítéshez, hozzon létre egy .pem fájlt a tanúsítványhoz, és adja át a .pem fájl elérési útját az --azure-rm-service-principal-certificate-path argumentum használatával.

Az a.pem fájlt az openssl használatával hozhatja létre:

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