Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Azure DevOps Services
Una conexión de servicio permite a Azure DevOps comunicarse con un servicio externo, como Azure, Bitbucket, Kubernetes, Maven y GitHub. Con el comando az devops service-endpoint, puede crear y administrar diferentes tipos de conexiones de servicio. Puede realizar las siguientes tareas:
- Creación de un punto de conexión de servicio mediante un archivo de configuración
- Actualizar un punto de conexión de servicio
- Administración de puntos de conexión y conexiones de servicio de GitHub
- Administración de puntos de conexión y conexiones de servicio de Azure Resource Manager
- Mostrar los puntos de conexión de servicio definidos para un proyecto
- Obtener los detalles de un punto de conexión de servicio
Para obtener una sintaxis de comandos detallada, consulte az devops service-endpoint. Para ver la sintaxis de la API REST para los puntos de conexión de servicio, consulte Puntos de conexión.
Puede usar comandos de la CLI de Azure para obtener detalles, enumerar, eliminar y actualizar un punto de conexión de servicio. Consulte Puntos de conexión de servicio o conexiones de servicio.
Para usar el portal web para crear y editar conexiones de servicio, consulte Administración de conexiones de servicio.
Sugerencia
Los ejemplos de este artículo utilizan entidades de servicio en lugar de la autenticación básica, lo cual es un método más seguro para autenticar. Para obtener más información, consulte Uso de entidades de servicio administradas & entidades administradas en Azure DevOps.
Crear un punto de conexión de servicio mediante un archivo de configuración
Para crear un punto de conexión de servicio mediante un archivo de configuración, defina primero el archivo de configuración. El contenido del archivo de configuración difiere en función del tipo de conexión, como Azure Clásico, Azure Data Explorer, Bitbucket Cloud o Chef.
Formato de archivo de configuración
La sintaxis siguiente muestra el formato JSON para el archivo de configuración.
{
"data": {},
"name": "MyNewServiceEndpoint",
"type": "AzureRM",
"url": "https://management.azure.com/",
"authorization": {
"parameters": {
"tenantid": "your-tenant-id"
},
"scheme": "ManagedServiceIdentity"
},
"isShared": false,
"isReady": true,
"serviceEndpointProjectReferences": [
{
"projectReference": {
"id": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
"name": "TestProject"
},
"name": "MyNewServiceEndpoint"
}
]
}
Estos parámetros se describen en la tabla siguiente. El parámetro type admite la creación de cualquier tipo de punto de conexión de servicio.
| Parámetro | Tipo | Descripción |
|---|---|---|
name |
cuerda / cadena | Establece el nombre descriptivo del punto de conexión. |
type |
cuerda / cadena | Establece el punto del tipo de conexión. |
url |
cuerda / cadena | Establece la dirección URL del punto de conexión. |
authorization |
EndpointAuthorization | Establece los datos de autorización para comunicarse con el punto de conexión. |
isShared |
boolean | Indica si el punto de conexión de servicio se comparte con otros proyectos. |
isReady |
boolean | Indicador de estado del punto de conexión. |
serviceEndpointProjectReferences |
Referencia del proyecto | Establece la referencia del proyecto del punto de conexión de servicio. |
Para obtener una lista de los tipos admitidos y sus parámetros de entrada necesarios, revise la siguiente entrada de la API REST:
https://dev.azure.com/{organization}/_apis/serviceendpoint/types?api-version=6.0-preview.1
Para obtener una descripción de los tipos y parámetros de conexión de servicio, consulte Tipos de conexión de servicio comunes.
Ejecute el comando create.
Cree un punto de conexión de servicio con el comando az devops service-endpoint create .
az devops service-endpoint create --service-endpoint-configuration
[--encoding {ascii, utf-16be, utf-16le, utf-8}]
[--organization]
[--project]
Parámetros
- service-endpoint-configuration: obligatorio. Nombre del archivo de configuración
jsoncon la configuración del punto de conexión de servicio. - encoding: opcional. Codificación del archivo de entrada. El valor predeterminado es
utf-8. Valores aceptados:ascii,utf-16be,utf-16le,utf-8. - organization: dirección URL de la organización de Azure DevOps. Puede configurar la organización predeterminada mediante
az devops configure --defaults organization=ORG_URL. Obligatorio si no está configurada como predeterminada. - project: nombre o identificador del proyecto. Puede configurar el proyecto predeterminado mediante
az devops configure --defaults project=NAME_OR_ID. Obligatorio si no está configurada como predeterminada.
Ejemplo
El comando siguiente crea una conexión de servicio que hace referencia al archivo ServiceConnectionGeneric.json .
az devops service-endpoint create --service-endpoint-configuration ./ServiceConnectionGeneric.json
Después de la creación, el comando asigna un Id al punto de conexión de servicio. En este ejemplo se devuelve el resultado siguiente.
{
"administratorsGroup": null,
"authorization": {
"parameters": {
"serviceprincipalid": "your-service-principal-id",
"serviceprincipalkey": "your-service-principal-key",
"tenantid": "your-tenant-id"
},
"scheme": "ServicePrincipal"
},
"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"
}
Crear un punto de conexión de servicio de GitHub
Para crear un punto de conexión de servicio de GitHub, use el comando az devops service-endpoint github create :
az devops service-endpoint github create --github-url
--name
[--organization]
[--project]
En modo interactivo, el comando az devops service-endpoint github create le solicita el token de PAT de GitHub. Para fines de automatización, establezca el token pat de GitHub mediante la AZURE_DEVOPS_EXT_GITHUB_PAT variable de entorno. Para más información, consulte Inicio de sesión con un token de acceso personal.
Crear un punto de conexión de servicio de Azure Resource Manager
Para crear un punto de conexión de servicio de Azure Resource Manager, use el comando 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]
[--organization]
[--project]
Uso de un secreto de cliente
En modo interactivo, el comando az devops service-endpoint azurerm create le solicita un secreto de una entidad de servicio. Para fines de automatización, establezca el secreto de la entidad de servicio mediante la variable de entorno 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>
Utilizar un certificado de cliente
Si la aplicación Microsoft Entra usa el certificado para la autenticación, cree un archivo .pem para el certificado. Pase la ruta de acceso al archivo .pem con el argumento --azure-rm-service-principal-certificate-path.
Puede crear un archivo .pem mediante OpenSSL:
openssl pkcs12 -in file.pfx -out file.pem -nodes -secret pass:<secret_here>