Punto de conexión de servicio de la CLI de Azure DevOps
Azure DevOps Services
Con el az devops service-endpoint
comando , puede crear y administrar diferentes tipos de conexiones de servicio. Una conexión de servicio permite a Azure DevOps comunicarse con un servicio externo, como Azure, Bitbucket, Kubernetes, Maven, GitHub, etc. Con az devops service-endpoint
, puede realizar las siguientes tareas:
- Creación de un punto de conexión de servicio mediante un archivo de configuración
- Actualización de un punto de conexión de servicio
- Administración de puntos de conexión o conexiones de servicio de GitHub
- Administración de puntos de conexión o conexiones de servicio de Azure Resource Manager
- Enumeración de puntos de conexión de servicio definidos para un proyecto
- Obtenga los detalles de un punto de conexión de servicio.
Para obtener información detallada sobre la sintaxis del comando, consulte az devops service-endpoint
. Para obtener una sintaxis en la API REST para los puntos de conexión de servicio, consulte Puntos de conexión.
También puede usar comandos de la CLI de Azure para obtener detalles, enumerar, eliminar y actualizar un punto de conexión de servicio. Consulte Ejemplos de la CLI de Azure DevOps, 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.
Creación de 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, primero debe definir 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, Chef, etc.
Formato de archivo de configuración
La sintaxis siguiente muestra el json
formato del archivo de configuración.
{
"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"
}
]
}
Estos parámetros se describen en la tabla siguiente. El type
parámetro admite la creación de cualquier tipo de punto de conexión de servicio.
Parámetro | Tipo | Description |
---|---|---|
name |
string | Establece el nombre descriptivo del punto de conexión. |
type |
string | Establece el tipo del punto de conexión. |
url |
string | 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 o no. |
isReady |
boolean | Indicador de estado de EndPoint. |
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, puede ejercer la siguiente entrada de la API REST:
https://dev.azure.com/{organization}/_apis/serviceendpoint/types?api-version=6.0-preview.1
Además, para obtener una descripción de los tipos de conexión de servicio y otros parámetros que pueden requerir, consulte Administración de conexiones de servicio, Tipos de conexión de servicio comunes.
Ejecute el comando create
.
Cree un punto de conexión de servicio con el az devops service-endpoint create
comando .
az devops service-endpoint create --service-endpoint-configuration
[--encoding {ascii, utf-16be, utf-16le, utf-8}]
[--org]
[--project]
Parámetros
- service-endpoint-configuration: obligatorio. Nombre del
json
archivo de configuración con la configuración del punto de conexión de servicio. - codificación: opcional. Codificación del archivo de entrada. El valor predeterminado es
utf-8
. Valores aceptados:ascii
,utf-16be
,utf-16le
,utf-8
. - org: la URL de la organización de Azure DevOps. Puede configurar la organización predeterminada mediante
az devops configure -d organization=ORG_URL
. Obligatorio si no está configurado como predeterminado. - project: nombre o identificador del proyecto. Puede configurar el proyecto predeterminado mediante
az devops configure -d project=NAME_OR_ID
. Obligatorio si no está configurado como predeterminado.
Ejemplo
El comando siguiente crea una conexión de servicio que hace referencia al ServiceConnectionGeneric.json
archivo.
az devops service-endpoint create --service-endpoint-configuration ./ServiceConnectionGeneric.json
Tras la creación correcta, Id
se asigna un objeto al punto de conexión de servicio y se devuelve una respuesta similar a la siguiente sintaxis.
{
"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"
}
Creación de un punto de conexión de servicio de GitHub
Para crear un punto de conexión de servicio de GitHub, use el az devops service-endpoint github create
comando :
az devops service-endpoint github create --github-url
--name
[--org]
[--project]
En modo interactivo, el az devops service-endpoint github create
comando solicita un token pat de GitHub mediante un mensaje de aviso, con el fin de establecer el token pat de GitHub mediante la variable de AZURE_DEVOPS_EXT_GITHUB_PAT
entorno. Para obtener más información, consulte Inicio de sesión con un token de acceso personal (PAT).
Creación de 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 az devops service-endpoint azurerm create
comando .
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]
Uso de un secreto o contraseña de cliente
En modo interactivo, el az devops service-endpoint azurerm create
comando solicita una contraseña o secreto de entidad de servicio mediante un mensaje de aviso. Para fines de automatización, establezca la contraseña o el secreto de la entidad de servicio mediante la variable de AZURE_DEVOPS_EXT_AZURE_RM_SERVICE_PRINCIPAL_KEY
entorno.
export AZURE_DEVOPS_EXT_AZURE_RM_SERVICE_PRINCIPAL_KEY=<your_secret_here>
$env:AZURE_DEVOPS_EXT_AZURE_RM_SERVICE_PRINCIPAL_KEY=<your_secret_here>
Uso de un certificado de cliente
Si la aplicación Microsoft Entra usa el certificado para la autenticación, cree un archivo .pem para el certificado y pase la ruta de acceso al archivo .pem mediante el --azure-rm-service-principal-certificate-path
argumento .
Puede crear un archivo .pem mediante openssl:
openssl pkcs12 -in file.pfx -out file.pem -nodes -password pass:<password_here>