Code Stream permite activar una canalización cuando se produce una revisión de código en el proyecto de Gerrit. La definición de activador para Gerrit incluye el proyecto de Gerrit y las canalizaciones que se deben ejecutar para diferentes tipos de eventos.

El activador para Gerrit utiliza un agente de escucha de Gerrit en el servidor de Gerrit que se supervisará. Para definir un endpoint de Gerrit en Code Stream, seleccione un proyecto e introduzca la URL del servidor de Gerrit. A continuación, especifique el endpoint cuando cree un agente de escucha de Gerrit en ese servidor.

Si utiliza un servidor de Gerrit como endpoint de Code Stream en una instancia de vRealize Automation con FIPS habilitado, debe comprobar que el archivo de configuración de Gerrit incluya las claves de autenticación de mensajes correctas. Si el archivo de configuración del servidor de Gerrit no incluye las claves de autenticación de mensajes correctas, el servidor no se puede iniciar correctamente y muestra este mensaje: PrivateKey/PassPhrase is incorrect

El siguiente procedimiento muestra cómo definir un endpoint de Gerrit que se puede utilizar en la definición del agente de escucha de Gerrit. En el caso de que necesite editar un endpoint, un paso opcional al final del procedimiento explica cómo y cuándo se debe realizar la actualización.

Requisitos previos

  • Compruebe que puede acceder al servidor de Gerrit al que planea conectarse.
  • Compruebe si es un miembro de un proyecto en Code Stream. Si no es miembro, solicite al administrador de Code Stream que lo agregue como miembro de un proyecto. Consulte Cómo agregar un proyecto en Code Stream.

Procedimiento

  1. Defina un endpoint de Gerrit.
    1. Haga clic en Configurar > Endpoints y haga clic en Nuevo endpoint.
    2. Seleccione un proyecto y, para el tipo de endpoint, seleccione Gerrit. A continuación, introduzca un nombre y una descripción.
    3. Si este endpoint es un componente fundamental para la empresa en la infraestructura, habilite la opción Marcar como restringido.
    4. Introduzca la URL del servidor de Gerrit.
      Para utilizar el puerto predeterminado, puede proporcionar un número de puerto con la URL o dejar el valor en blanco.
    5. Introduzca el nombre de usuario y la contraseña del servidor de Gerrit.
      Si la contraseña debe estar cifrada, haga clic en Crear variable y seleccione el tipo:
      • Secreto. La contraseña se resuelve cuando un usuario con cualquier función ejecuta la canalización.
      • Restringido. La contraseña se resuelve cuando un usuario con la función de administrador ejecuta la canalización.

      Para el valor, introduzca la contraseña que debe ser segura, como la contraseña de un servidor de Jenkins.

    6. Para la clave privada, introduzca la clave SSH utilizada para acceder al servidor de Gerrit de forma segura.
      Esta clave es la clave privada RSA que se encuentra en el directorio .ssh.
    7. (opcional) Si la clave privada tiene asociada una frase de contraseña, introduzca la frase de contraseña.
      Para cifrar la frase de contraseña, haga clic en Crear variable y seleccione el tipo:
      • Secreto. La contraseña se resuelve cuando un usuario con cualquier función ejecuta la canalización.
      • Restringido. La contraseña se resuelve cuando un usuario con la función de administrador ejecuta la canalización.

      Para el valor, introduzca la frase de contraseña que debe ser segura, como la frase de contraseña de un servidor SSH.

  2. Haga clic en Validar y compruebe que el endpoint de Gerrit en Code Stream se conecte al servidor de Gerrit.
    Si no se conecta, corrija los errores y, a continuación, haga clic nuevamente en Validar.
    Cuando agregue un endpoint para el activador de Gerrit, debe confirmar que el endpoint de Gerrit se conecte al servidor de Gerrit.
  3. Haga clic en Crear.
  4. Compruebe que el entorno de vRealize Automation tenga FIPS habilitado, o haga que el trabajo de Jenkins cree el entorno con FIPS habilitado mediante la URL de Jenkins.
    1. Para ejecutar el comando desde la línea de comandos, conéctese al dispositivo de vRealize Automation 8.x a través de SSH e inicie sesión como usuario raíz. Por ejemplo, conéctese a la URL del nombre de dominio completo, como https://cava-1-234-567.yourcompanyFQDN.com en los puertos 22, 5480 o 443.
    2. Para buscar FIPS en vRealize Automation, ejecute el comando vracli security fips.
    3. Compruebe que el comando devuelva FIPS mode: strict.
  5. Si el servidor de Gerrit es un endpoint de una instancia de vRealize Automation con FIPS habilitado, asegúrese de que el archivo de configuración de Gerrit incluya las claves de autenticación de mensajes (MAC) correctas.
    1. Abra Gerrit y cree un par de claves SSH.
    2. Busque el archivo de configuración del servidor de Gerrit en '$site_path'/etc/gerrit.config.
    3. Compruebe que el archivo de configuración del servidor de Gerrit incluya una o varias claves de código de autenticación de mensajes (MAC), excepto hmac-MD5.
      Nota: En el modo FIPS, hmac-MD5 no es un algoritmo de MAC compatible. Para asegurarse de que el servidor de Gerrit se inicie correctamente, el archivo de configuración del servidor de Gerrit debe excluir este algoritmo. Si el servidor de Gerrit no se inicia correctamente, muestra este mensaje: PrivateKey/PassPhrase is incorrect
      Los nombres de clave de código de autenticación de mensajes (MAC) admitidos que comienzan con un signo más (+) están habilitados. Los nombres de claves de MAC que comienzan con un guion (-) se eliminan de la lista de MAC predeterminados. De forma predeterminada, estos MAC compatibles están disponibles en Code Stream para el servidor de Gerrit:
      • hmac-md5-96
      • hmac-sha1
      • hmac-sha1-96
      • hmac-sha2-256
      • hmac-sha2-512
  6. (opcional) Antes de actualizar un endpoint de Gerrit para cambiar una URL o una clave privada, por ejemplo, compruebe si el endpoint está conectado a un agente de escucha de Gerrit.
    • Si el endpoint no está conectado a un agente de escucha de Gerrit, realice los siguientes pasos para actualizar el endpoint:
      1. Haga clic en Configurar > Endpoints y, luego, en Abrir en el endpoint que desea actualizar.
      2. Actualice la definición del endpoint.
      3. Haga clic en Validar para comprobar que el endpoint de Gerrit en Code Stream se conecte al servidor de Gerrit.
      4. Haga clic en Guardar.
    • Si el endpoint está conectado a un agente de escucha de Gerrit, realice los siguientes pasos para actualizar el endpoint:
      1. Desconecte todos los agentes de escucha de Gerrit conectados. Consulte Cómo usar el activador de Gerrit en Code Stream para ejecutar una canalización.
      2. Siga los pasos para configurar el nuevo endpoint.
      3. Valide y guarde la definición de endpoint actualizada.
      4. Vuelva a conectar los agentes de escucha de Gerrit.
      Nota: Si no se desconectan los agentes de escucha de Gerrit, esto se puede deber a que los valores actuales del endpoint de Gerrit cambiaron para que los agentes de escucha ya no puedan comunicarse con el servidor de Gerrit. Si se produce este problema, primero realice cambios en la definición del endpoint para que los agentes de escucha se puedan comunicar con el servidor de Gerrit. A continuación, desconecte los agentes de escucha de Gerrit y vuelva a conectarlos.

Qué hacer a continuación

Para obtener más información, revise las demás secciones. Consulte Cómo usar el activador de Gerrit en Code Stream para ejecutar una canalización.