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>