Como desarrollador o administrador de Code Stream, puede utilizar el activador de Git para integrar los servicios de nube de Code Stream con el ciclo de vida 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.

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, el webhook de GitHub, GitLab o Bitbucket también se actualizará o eliminará.

La definición de webhook debe incluir un endpoint de Git en la rama del repositorio que desea supervisar. Code Stream utiliza el endpoint de Git para crear el webhook. 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.

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 la contraseña del endpoint, el webhook seguirá funcionando.
      Consulte Cómo se puede integrar Code Stream con Git.
    4. (opcional) Introduzca la rama que desea que el webhook supervise. Por ejemplo, master.
      Si se deja sin especificar, el webhook supervisa la rama configurada para el endpoint de Git.
    5. (opcional) Genere un token secreto para el webhook.
      Si se utiliza 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.
      • Las inclusiones de archivos se proporcionan para que, cuando cualquiera de los archivos de una confirmación coincida con los archivos especificados en las expresiones regulares o rutas de inclusión, se activen las canalizaciones. Con una expresión regular especificada, Code Stream solo activa las canalizaciones con nombres de archivo en el conjunto de cambios que 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.
      • Las exclusiones de archivos se proporcionan para que, cuando todos los archivos de una confirmación coincidan con los archivos especificados en las expresiones regulares o las rutas de exclusión, no se activen las canalizaciones.
      • 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 se cumplen tanto las condiciones de inclusión como las de exclusión, no se activan las canalizaciones.

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

      Ejemplo de inclusiones y exclusiones de archivos.

      • 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 se configuró con 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.

    Webhook de Git con URL del webhook

  4. En una nueva ventana del explorador, abra el repositorio de GitHub que se conectó 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.

      Lista de webhooks en GitHub

    2. Para realizar un cambio de código, haga clic en la pestaña Código y seleccione un archivo para editar en la rama que desea modificar. 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. Webhook en GitHub con 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.

    Actividad iniciada para el activador de Git.

  6. Haga clic en Ejecuciones para realizar un seguimiento de la canalización mientras se ejecuta.
    Puede hacer clic en el botón de actualización para ver la ejecución de la canalización.

    Ejecución de la canalización activada con Git

Resultados

Enhorabuena. Utilizó correctamente un activador de Git para ejecutar una canalización.