Como administrador o desarrollador de Code Stream, puede integrar los servicios de nube de Code Stream con el ciclo de vida de Git mediante el activador de Git. Cuando se realiza un cambio de código en GitHub, GitLab o Bitbucket Enterprise, el evento se comunica con Code Stream mediante un webhook y activa una canalización para que se ejecute. El webhook funciona con GitLab, GitHub y versiones empresariales locales, y en la nube de BitBucket.

Al agregar el webhook de Git en Code Stream, también se crea un webhook en el repositorio de GitHub, GitLab o Bitbucket. Si actualiza o elimina el webhook más adelante, esa acción también actualiza o elimina el webhook en GitHub, GitLab o Bitbucket.

La definición de webhook debe incluir un endpoint de Git en la rama del repositorio que desea supervisar. Para crear el webhook, Code Stream utiliza el endpoint de Git. Si el endpoint no existe, puede crearlo cuando agregue el webhook. En este ejemplo, se supone que tiene un endpoint de Git predefinido en GitHub.

Nota: El endpoint de Git debe utilizar un token privado para la autenticación. Si el endpoint de Git utiliza una contraseña para la autenticación básica, no podrá crear un webhook.

Es posible crear varios webhooks para diferentes ramas; para hacerlo, utilice el mismo endpoint de Git y proporcione valores diferentes para el nombre de la rama en la página de configuración del webhook. Para crear otro webhook para otra rama del mismo repositorio de Git, en lugar de clonar el endpoint de Git varias veces para varias ramas, puede proporcionar el nombre de la rama en el webhook. Este enfoque permite reutilizar el endpoint de Git. Si la rama del webhook de Git es igual que la rama del endpoint, no es necesario que proporcione el nombre de la rama en la página de webhook de Git.

En este ejemplo, se muestra cómo usar el activador de Git con un repositorio de GitHub, pero los requisitos previos incluyen preparaciones necesarias si se utiliza otro tipo de servidor de Git.

Requisitos previos

Procedimiento

  1. En Code Stream, haga clic en Activadores > Git.
  2. Haga clic en la pestaña Webhooks para Git y, a continuación, haga clic en Nuevo webhook para Git.
    1. Seleccione un proyecto.
    2. Introduzca un nombre descriptivo y una descripción para el webhook.
    3. Seleccione un endpoint de Git que esté configurado para la rama que desea supervisar.
      Cuando crea el webhook, la definición de este incluye los detalles actuales del endpoint.
      • Si más adelante cambia el tipo de Git, el tipo de servidor de Git o la URL del repositorio de Git en el endpoint, el webhook ya no podrá activar una canalización porque intentará acceder al repositorio de Git con los detalles originales del endpoint. Debe eliminar el webhook y volver a crearlo con el endpoint.
      • Si más adelante cambia el tipo de autenticación, el nombre de usuario o el token privado del endpoint, el webhook seguirá funcionando.
      Nota: Si creó previamente un webhook con un endpoint de Git que utiliza una contraseña para la autenticación básica, debe eliminar y redefinir el webhook con un endpoint de Git que utilice un token privado para la autenticación.
      Consulte Cómo se puede integrar Code Stream con Git.
    4. (opcional) Introduzca la rama que desea que el webhook supervise.
      Si se deja la rama sin especificar, el webhook supervisa la rama configurada para el endpoint de Git.
    5. (opcional) Genere un token secreto para el webhook.
      Si utiliza un token secreto, Code Stream genera un token de cadena aleatorio para el webhook. A continuación, cuando el webhook recibe datos de eventos de Git, envía los datos con el token secreto. Code Stream usa la información para determinar si las llamadas proceden del origen esperado, como la instancia, el repositorio y la rama de GitHub configurados. El token secreto proporciona una capa adicional de seguridad que se utiliza para comprobar que los datos de eventos de Git provienen del origen correcto.
    6. (opcional) Proporcione inclusiones o exclusiones de archivos como condiciones para el activador.
      • Inclusiones de archivos. Si alguno de los archivos de una confirmación coincide con los archivos especificados en las expresiones regulares o rutas de inclusión, se activan las canalizaciones. Con una expresión regular especificada, Code Stream solo activa las canalizaciones cuando los nombres de archivo en el conjunto de cambios coinciden con la expresión proporcionada. El filtro de expresiones regulares es útil cuando se configura un activador para varias canalizaciones en un solo repositorio.
      • Exclusiones de archivos. Cuando todos los archivos de una confirmación coinciden con los archivos especificados en las rutas de exclusión o en las expresiones regulares, no se activan las canalizaciones.
      • Priorizar exclusiones. Cuando se activa, la prioridad de exclusión garantiza que las canalizaciones no se activen aunque alguno de los archivos de una confirmación coincida con los archivos especificados en las expresiones regulares o las rutas de exclusión. De forma predeterminada, esta opción está desactivada.
      Si las condiciones cumplen con las inclusiones y las exclusiones de archivos, las canalizaciones no se activan.

      En el siguiente ejemplo, tanto las inclusiones como las exclusiones de archivos son condiciones para el activador.

      Las inclusiones y exclusiones de archivos y sus valores aparecen en la pestaña Webhooks para Git en el activador de Git y pueden ser sin formato o una expresión regular.

      • Para las inclusiones de archivos, una confirmación con cualquier cambio en runtime/src/main/a.java o cualquier archivo Java activará las canalizaciones definidas en la configuración de eventos.
      • Para las exclusiones de archivos, una confirmación con cambios solo en ambos archivos no activará las canalizaciones configuradas en las configuraciones de eventos.
    7. Para el evento de Git, seleccione una solicitud Push o Pull.
    8. Introduzca el token de API.
      El token de API de CSP lo autentica para las conexiones de API externas con Code Stream. Para obtener el token de API:
      1. Inicie sesión en vRealize Automation Cloud.
      2. Haga clic en la flecha del menú desplegable que aparece junto a su nombre.
      3. Haga clic en Mi cuenta.
      4. Haga clic en Tokens de API.
      5. Haga clic en Generar token.
        1. Introduzca un nombre de token.
        2. En Funciones de organización, seleccione Propietario de la organización.
        3. En Funciones de servicio, haga clic para expandir VMware Code Stream y seleccione Administrador de Code Stream.
        4. Haga clic en Generar.

          La ventana Token generado muestra un token con el nombre que especificó y el nombre de la organización.

      6. Haga clic en el icono COPIAR.

        Si hace clic en COPIAR, se asegura de que se captura la cadena exacta, lo cual resulta más confiable que utilizar el puntero para copiar la cadena.

    9. Seleccione la canalización para que se active el webhook.
      Si la canalización incluye parámetros de entrada personalizados agregados, la lista Parámetros de entrada muestra parámetros y valores. Puede introducir valores para los parámetros de entrada que se transferirán a la canalización con el evento activador. También puede dejar los valores en blanco o utilizar los valores predeterminados si se definieron.

      Para obtener información sobre los parámetros de entrada de inserción automática de los activadores de Git, consulte Requisitos previos.

    10. Haga clic en Crear.
      El webhook aparece como una nueva tarjeta.
  3. Haga clic en la tarjeta del webhook.
    Cuando el formulario de datos de webhook vuelve a aparecer, verá una URL de webhook agregada a la parte superior del formulario. El webhook de Git se conectará al repositorio de GitHub a través de la URL del webhook.

    La URL del webhook de Git, que se copia y se utiliza en el repositorio de Git, aparece en la pestaña Webhooks para Git en el activador de Git.

  4. En una nueva ventana del explorador, abra el repositorio de GitHub que se conecta a través del webhook.
    1. Para ver el webhook que agregó en Code Stream, haga clic en la pestaña Configuración y seleccione Webhooks.
      En la parte inferior de la lista de webhooks, verá la misma URL de webhook.

      En el repositorio de GitHub, la lista de webhooks muestra la misma URL de webhook de Git en la parte inferior de la lista.

    2. Para realizar un cambio de código, haga clic en la pestaña Código y seleccione un archivo de la rama. Después de editar el archivo, confirme el cambio.
    3. Para comprobar que la URL del webhook funcione, haga clic en la pestaña Configuración y seleccione Webhooks nuevamente.
      En la parte inferior de la lista de webhooks, se mostrará una marca de verificación verde junto a la URL del webhook. Cuando el webhook de GitHub es válido, aparece una marca de verificación verde.
  5. Vuelva a Code Stream para ver la actividad en el webhook de Git. Haga clic en Activadores > Git > Actividad.
    En Estado de ejecución, compruebe que la ejecución de la canalización se haya iniciado.

    Cuando un usuario confirma un archivo, activa el activador de Git, y la pestaña Actividad muestra el estado del activador como INICIADO.

  6. Haga clic en Ejecuciones y realice un seguimiento de la canalización mientras se ejecuta.
    Para observar la ejecución de la canalización, puede pulsar el botón de actualización.

    Después de que se activa la canalización, la ejecución de la canalización muestra el estado EN EJECUCIÓN.

Resultados

Enhorabuena. Utilizó correctamente el activador para Git.