Point de terminaison de service CLI Azure DevOps
Azure DevOps Services
Avec la az devops service-endpoint
commande, vous pouvez créer et gérer différents types de connexions de service. Une connexion de service permet à Azure DevOps de communiquer avec un service externe, tel qu’Azure, Bitbucket, Kubernetes, Maven, GitHub, etc. Avec az devops service-endpoint
, vous pouvez effectuer les tâches suivantes :
- Créer un point de terminaison de service à l’aide d’un fichier de configuration
- Mettre à jour un point de terminaison de service
- Gérer les points de terminaison/connexions du service GitHub
- Gérer les points de terminaison/connexions du service Azure Resource Manager
- Répertorier les points de terminaison de service définis pour un projet
- Obtenez les détails d’un point de terminaison de service.
Pour plus d’informations sur la syntaxe des commandes, consultez az devops service-endpoint
. Pour obtenir une syntaxe sur l’API REST pour les points de terminaison de service, consultez Points de terminaison.
Vous pouvez également utiliser des commandes Azure CLI pour obtenir des détails, répertorier, supprimer et mettre à jour un point de terminaison de service. Consultez les exemples d’index vers Azure DevOps CLI, les points de terminaison de service ou les connexions de service.
Pour utiliser le portail web pour créer et modifier des connexions de service, consultez Gérer les connexions de service.
Créer un point de terminaison de service à l’aide d’un fichier de configuration
Pour créer un point de terminaison de service à l’aide d’un fichier de configuration, vous devez d’abord définir le fichier de configuration. Le contenu du fichier de configuration varie en fonction du type de connexion, tel qu’Azure Classic, Azure Data Explorer, Bitbucket Cloud, Chef, etc.
Format du fichier de configuration
La syntaxe suivante montre le json
format du fichier de configuration.
{
"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"
}
]
}
La table ci-dessous décrit chaque paramètre. Le type
paramètre prend en charge la création de n’importe quel type de point de terminaison de service.
Paramètre | Type | Description |
---|---|---|
name |
string | Définit le nom convivial du point de terminaison. |
type |
string | Définit le type du point de terminaison. |
url |
string | Définit l’URL du point de terminaison. |
authorization |
EndpointAuthorization | Définit les données d’autorisation pour communiquer avec le point de terminaison. |
isShared |
booléen | Indique si le point de terminaison de service est partagé avec d’autres projets ou non. |
isReady |
booléen | Indicateur d’état EndPoint. |
serviceEndpointProjectReferences |
Informations de référence sur le projet | Définit la référence du projet du point de terminaison de service. |
Pour obtenir la liste des types pris en charge et leurs paramètres d’entrée requis, vous pouvez exercer l’entrée d’API REST suivante :
https://dev.azure.com/{organization}/_apis/serviceendpoint/types?api-version=6.0-preview.1
En outre, pour obtenir une description des types de connexions de service et d’autres paramètres dont ils peuvent avoir besoin, consultez Gérer les connexions de service, types de connexions de service courants.
Exécutez la commande create
.
Vous créez un point de terminaison de service avec la az devops service-endpoint create
commande.
az devops service-endpoint create --service-endpoint-configuration
[--encoding {ascii, utf-16be, utf-16le, utf-8}]
[--org]
[--project]
Paramètres
- service-endpoint-configuration : obligatoire. Nom du
json
fichier de configuration avec la configuration du point de terminaison de service. - encodage : facultatif. Encodage du fichier d’entrée. La valeur par défaut est
utf-8
. Valeurs acceptées :ascii
,utf-16be
,utf-16le
,utf-8
. - org : URL de l’organisation Azure DevOps. Vous pouvez configurer l’organisation par défaut à l’aide de
az devops configure -d organization=ORG_URL
. Obligatoire s’il n’est pas configuré comme valeur par défaut. - projet : nom ou ID du projet. Vous pouvez configurer le projet par défaut en utilisant
az devops configure -d project=NAME_OR_ID
. Obligatoire s’il n’est pas configuré comme valeur par défaut.
Exemple
La commande suivante crée une connexion de service référençant le ServiceConnectionGeneric.json
fichier.
az devops service-endpoint create --service-endpoint-configuration ./ServiceConnectionGeneric.json
Une fois la création réussie, un Id
point de terminaison de service est affecté et une réponse similaire à la syntaxe suivante est retournée.
{
"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"
}
Créer un point de terminaison de service GitHub
Pour créer un point de terminaison de service GitHub, utilisez la az devops service-endpoint github create
commande suivante :
az devops service-endpoint github create --github-url
--name
[--org]
[--project]
En mode interactif, la az devops service-endpoint github create
commande demande un jeton GitHub PAT à l’aide d’un message d’invite, à des fins d’automatisation, définissez le jeton PAT GitHub à l’aide de la AZURE_DEVOPS_EXT_GITHUB_PAT
variable d’environnement. Pour plus d’informations, consultez Se connecter avec un jeton d’accès personnel (PAT) .
Créer un point de terminaison de service Azure Resource Manager
Pour créer un point de terminaison de service Azure Resource Manager, utilisez la az devops service-endpoint azurerm create
commande.
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]
Utiliser une clé secrète client/mot de passe
En mode interactif, la az devops service-endpoint azurerm create
commande demande un mot de passe/secret de principal de service à l’aide d’un message d’invite. À des fins d’automatisation, définissez le mot de passe/secret du principal de service à l’aide de la variable d’environnement 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>
Utiliser un certificat client
Si l’application Microsoft Entra utilise un certificat pour l’authentification, créez un fichier .pem pour le certificat et transmettez le chemin d’accès au fichier .pem à l’aide de l’argument --azure-rm-service-principal-certificate-path
.
Vous pouvez créer un fichier a.pem à l’aide d’openssl :
openssl pkcs12 -in file.pfx -out file.pem -nodes -password pass:<password_here>