Conéctate a GitLab Enterprise

En esta página, se describe cómo crear conexiones a GitLab Enterprise y crear vínculos a repositorios de GitLab Enterprise. Puedes completar estas tareas con la Google Cloud consola, o Google Cloud CLI.

Estas instrucciones son para desarrolladores de aplicaciones, administradores de plataformas y administradores de seguridad que desean usar repositorios de código fuente de GitLab Enterprise con Google. En particular, puedes usar repositorios de GitLab Enterprise con Gemini Code Assist.

Para obtener más información sobre Developer Connect, consulta Descripción general de Developer Connect.

Antes de comenzar

  1. Accede a tu cuenta de Google.

    Si todavía no tienes una cuenta, regístrate para obtener una nueva.

  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Developer Connect API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Developer Connect API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  8. Si habilitas Developer Connect, también se habilita la API de Secret Manager.

  9. Asegúrate de tener acceso a una cuenta en GitLab Enterprise.

    Para ayudar a proteger el trabajo de tu equipo, te recomendamos que completes las tareas de esta guía con una cuenta de servicio o una cuenta compartida por tu equipo, no con una cuenta personal.

  10. Asegúrate de ser propietario de un repositorio de GitLab Enterprise o de tener permisos de nivel de administrador en un repositorio compartido.
  11. Opcional: Crea una clave de encriptación administrada por el cliente (CMEK) para encriptar los secretos de autenticación que crea Developer Connect.
  12. Opcional: Para usar las instrucciones de la línea de comandos de esta guía, completa los siguientes pasos:
    1. Instala la Google Cloud CLI. Si ya instalaste gcloud CLI, asegúrate de tener la última versión disponible ejecutando gcloud components update.
    2. Ejecuta el siguiente comando para crear una cuenta de servicio de Developer Connect, en el que PROJECT_ID es el Google Cloud ID del proyecto:
              gcloud beta services identity create \
                  --service=developerconnect.googleapis.com \
                  --project=PROJECT_ID
              

Requisitos del host

Si no instalaste una instancia de servidor de GitLab Enterprise Edition, consulta la guía de instalación de GitLab Enterprise Edition para obtener instrucciones.

Cuando sigas las instrucciones para instalar una instancia de servidor de GitLab Enterprise Edition, ten en cuenta lo siguiente:

  • Debes configurar tu host para controlar el protocolo HTTPS. No se admiten los hosts configurados con el protocolo HTTP.

  • Debes configurar tu host con la misma URL que se usa para acceder a tu host desde Google Cloud. Para obtener más información, consulta la documentación de GitLab para configurar la URL externa.

Roles obligatorios

Para obtener los permisos que necesitas para crear conexiones y vínculos, pídele a tu administrador que te otorgue los siguientes roles de IAM:

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.

Crea tokens de acceso

Para crear tokens de acceso en GitLab, completa los siguientes pasos:

  1. Accede a GitLab.

  2. Sigue las instrucciones de la documentación de GitLab para crear tokens de acceso personal, tokens de acceso a grupos, o tokens de acceso a proyectos con los siguientes permisos:

    • Un token con permiso api para conectar y desconectar repositorios.
    • Un token con permiso read_api para permitir que Developer Connect lea el código fuente en tus repositorios.
    • Para los tokens de acceso a grupos y los tokens de acceso a proyectos, los tokens deben tener un rol de Mantenedor o superior.

Crear una conexión

En esta sección, se describe cómo crear una conexión entre Developer Connect y GitLab Enterprise. Si usas la Google Cloud consola, también puedes comenzar a agregar vínculos a repositorios cuando termines de configurar tu conexión.

Para crear una conexión nueva de GitLab Enterprise, selecciona una de las siguientes opciones:

Console

Para iniciar una conexión, completa los siguientes pasos:

  1. En la Google Cloud consola, abre Developer Connect.

    Ir a Developer Connect

    Developer Connect muestra la página Git repositories.

    • Si ves una lista de proveedores de administración de código fuente: Para configurar tu primera conexión, selecciona un proveedor de administración de código fuente. Haz clic en Conectar en la tarjeta de GitLab Enterprise.
    • Si ves una tabla con las conexiones existentes: Para configurar el proveedor de administración de código fuente, haz clic en Crear conexión > GitLab Enterprise.

      Se abrirá la página Create Connection.

  2. En Región, elige una región para los recursos de conexión.

    1. En Nombre, ingresa un nombre para tu conexión nueva.
  3. En URL del host, ingresa la URL del host al que deseas conectarte.

  4. En la sección Tokens de acceso, ingresa los tokens para tu cuenta:

    • Token de acceso a la API: Ingresa el token de acceso con permiso api.
    • Token de acceso a la API de lectura: Ingresa el token de acceso con read_api permiso.

    Eres responsable de garantizar que tus tokens de GitLab sigan siendo válidos. Los tokens de GitLab tienen una vida útil máxima de 365 días, a menos que el creador del token o un administrador especifiquen lo contrario. Para obtener información sobre cómo administrar la configuración y las notificaciones de vencimiento de tokens, consulta la documentación de GitLab sobre tokens de acceso personal, tokens de acceso a grupos, y tokens de acceso a proyectos.

  5. Haz clic en Mostrar más para ver la configuración opcional.

    1. Opcional: De forma predeterminada, Developer Connect puede actuar como un proxy para las llamadas de Git a GitLab Enterprise. Para inhabilitar esta opción, desmarca la casilla de verificación Habilitar el proxy de Developer Connect.

    2. En Tipo de red, selecciona Internet pública.

      Si deseas usar una red privada, consulta Conéctate a repositorios de GitLab Enterprise alojados en una red privada.

    3. Opcional: En la sección Encriptación, selecciona una clave de CMEK para encriptar los secretos de Secret Manager que crea Developer Connect.

  6. Haz clic en Continuar.

Una vez que se crea la conexión, aparece la página Vincular repositorios.

Completa los siguientes pasos para vincular repositorios a tu conexión:

  1. En la lista de repositorios disponibles, selecciona los que deseas usar.

  2. Haz clic en Aceptar.

  3. Haz clic en Vincular.

Tu conexión se agrega a la página Conexiones y los vínculos de tu repositorio se agregan a la página Repositorios en la Google Cloud consola. Puedes agregar más vínculos a las conexiones existentes en cualquier momento.

Si configuras Gemini Code Assist, continúa el proceso siguiendo los pasos que se indican en Configura y usa la personalización de código de Gemini Code Assist.

gcloud

  1. Ejecuta el siguiente comando para crear un secreto de webhook en Secret Manager, en el que WEBHOOK_SECRET_NAME es un nombre para tu secreto de webhook:

         cat /proc/sys/kernel/random/uuid | tr -d '\n' | gcloud secrets create WEBHOOK_SECRET_NAME
    
  2. Ejecuta los siguientes comandos para almacenar tus tokens de acceso en Secret Manager:

    gcloud secrets create API_SECRET_NAME
    
    echo -n API_SECRET_DATA | gcloud secrets versions add API_SECRET_NAME --data-file=-
    
    gcloud secrets create READ_SECRET_NAME
    
    echo -n READ_SECRET_DATA | gcloud secrets versions add READ_SECRET_NAME --data-file=-
    

    Reemplaza lo siguiente:

    • API_SECRET_NAME: Es un nombre para el secreto que almacena el token con api permiso.
    • API_SECRET_DATA: Es el token con api permiso, similar a glpat-XXXXXXXXXXXXXXXX.
    • READ_SECRET_NAME: Es un nombre para el secreto que almacena el token con read_api permiso.
    • READ_SECRET_DATA: Es el token con read_api permiso, similar a glpat-XXXXXXXXXXXXXXXX.
  3. Ejecuta el developer-connect connections create comando para iniciar una conexión a tu cuenta de GitLab Enterprise:

    gcloud developer-connect connections create CONNECTION_NAME \
        --location=REGION \
        --gitlab-config-read-authorizer-credential-user-token-secret-version=projects/PROJECT_ID/secrets/READ_SECRET_NAME/versions/VERSION \
        --gitlab-config-authorizer-credential-user-token-secret-version=projects/PROJECT_ID/secrets/API_SECRET_NAME/versions/VERSION \
        --gitlab-enterprise-config-host-uri=HOST_URI
        --gitlab-enterprise-config-webhook-secret-version=projects/PROJECT_ID/secrets/WEBHOOK_SECRET_NAME/versions/VERSION
        --git-proxy-config-enabled
    

    Reemplaza lo siguiente:

    • CONNECTION_NAME: Es el nombre de tu conexión.
    • REGION: Es la región de tu conexión.
    • PROJECT_ID: Es el Google Cloud ID del proyecto.
    • READ_SECRET_NAME: Es el nombre del secreto de Secret Manager que contiene el token con read_api permiso.
    • API_SECRET_NAME: Es el nombre del secreto de Secret Manager que contiene el token con api permiso.
    • VERSION: Es el número de versión de cada secreto. Puede ser latest para usar el número de versión más reciente.
    • HOST_URI: Es el URI del host al que deseas conectarte.
    • WEBHOOK_SECRET_NAME: Es el nombre del secreto de Secret Manager que contiene tu webhook.
    • --git-proxy-config-enabled: Es una marca opcional que permite que Developer Connect actúe como un proxy para las llamadas de Git a GitLab Enterprise. Esta función se encuentra en vista previa.

    Developer Connect completa la conexión a GitLab. A continuación, crea un vínculo a los repositorios.

Una vez que establezcas una conexión a GitLab Enterprise, podrás crear un vínculo a los repositorios. Puedes repetir estos pasos más adelante para vincular repositorios adicionales según sea necesario.

Para crear vínculos de repositorios en una conexión existente de GitLab Enterprise, selecciona una de las siguientes opciones:

Console

Para crear vínculos a repositorios, completa los siguientes pasos:

  1. Abre la página Repositorios en la Google Cloud consola.

    Abrir la página Repositorios

  2. Haz clic en Vincular repositorio.

    Se abrirá el panel Vincular repositorios de Git.

  3. En la lista de conexiones, elige una conexión.

  4. Haz clic en Continuar.

  5. En la lista de repositorios, selecciona los repositorios a los que deseas vincularte.

    Developer Connect muestra los nombres sugeridos para los recursos del repositorio.

  6. Selecciona una opción de asignación de nombres de recursos del repositorio:

    • Generado: Usa los nombres de recursos del repositorio generados.
    • Manual: Ingresa tus propios nombres.
  7. Haz clic en Crear.

Developer Connect crea los vínculos del repositorio y los muestra en la Google Cloud consola.

gcloud

Ejecuta el siguiente comando para crear un vínculo a un repositorio de GitLab:

gcloud developer-connect connections git-repository-links create REPO_NAME \
    --clone-uri=REPO_URI \
    --connection=CONNECTION_NAME \
    --location=REGION

Reemplaza lo siguiente:

  • REPO_NAME: Es el nombre del vínculo del repositorio.
  • REPO_URI: Es el vínculo a tu repositorio, similar a https://gitlab.com/my-project/test-repo.git.
  • CONNECTION_NAME: Es el nombre de tu conexión.
  • REGION: Es la región de tu conexión.

Developer Connect crea los vínculos del repositorio.

Para mostrar los repositorios vinculados, ejecuta el developer-connect connections git-repository-links list comando.

Si configuras Gemini Code Assist, continúa el proceso siguiendo los pasos que se indican en Configura y usa la personalización de código de Gemini Code Assist.

¿Qué sigue?