Conéctate a GitHub

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

Estas instrucciones son para desarrolladores de aplicaciones, administradores de plataformas y administradores de seguridad que deseen usar repositorios de código fuente de GitHub con Google.

Por ejemplo, puedes obtener sugerencias de programación de Gemini Code Assist, personalizadas para tu base de código, o puedes usar tus repositorios de GitHub vinculados para desarrollar apps web con Firebase App Hosting.

Para obtener más información sobre Developer Connect, consulta la 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, Secret Manager APIs, if any are not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the APIs

  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, Secret Manager APIs, if any are not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the APIs

  8. Asegúrate de tener acceso a una cuenta de GitHub.

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

  9. Asegúrate de ser propietario de un repositorio de GitHub o de tener permisos de administrador en un repositorio compartido.
  10. Opcional: Crea una clave de encriptación administrada por el cliente (CMEK) para encriptar los secretos de autenticación que crea Developer Connect.
  11. Opcional: Para usar las instrucciones de la línea de comandos en esta guía, completa los siguientes pasos:
    1. Instala la Google Cloud CLI. Si ya instalaste gcloud CLI, asegúrate de tener la versión más reciente 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 tu Google Cloud ID del proyecto:
              gcloud beta services identity create \
                  --service=developerconnect.googleapis.com \
                  --project=PROJECT_ID
              

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.

Crear una conexión

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

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

Console

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

  1. En la consola de Google Cloud , 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: Selecciona un proveedor de administración de código fuente para comenzar a configurar tu primera conexión. Haz clic en Conectar en la tarjeta de GitHub.
    • Si ves una tabla con las conexiones existentes: Haz clic en Crear conexión > GitHub para configurar el proveedor de administración de código fuente.

      Se abrirá la página Create Connection.

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

    1. En Nombre, ingresa un nombre para la conexión nueva.
  3. Activa la casilla de verificación Habilitar una conexión que cumpla con la residencia de datos para que esta conexión cumpla con los requisitos de residencia de datos.

    Las conexiones de GitHub creadas con la consola de Google Cloud cumplen con la residencia de datos si activas esta casilla de verificación cuando creas la conexión. Cuando lo hagas, Developer Connect creará una app de GitHub.

    Cuando creas conexiones de GitHub con la Google Cloud CLI, esas conexiones no cumplen con la residencia de datos. Todos los demás tipos de conexión cumplen con la residencia de datos.

  4. Haz clic en Mostrar más para ver los parámetros de configuración opcionales.

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

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

  5. Haz clic en Continuar.

  6. Haz clic en Entiendo y continuar para aceptar compartir tu token de OAuth de GitHub con Developer Connect y almacenarlo en Secret Manager.

  7. Accede a GitHub si se te solicita.

  8. Haz clic en Autorizar Developer Connect para permitir que la app de Google Developer Connect acceda a tu cuenta de GitHub.

    Si no ves este mensaje, significa que ya se otorgó la autorización en esta cuenta.

  9. Si seleccionaste Habilitar una conexión que cumpla con la residencia de datos, se te solicitará que crees una app de GitHub.

    1. Proporciona un nombre para esta app de GitHub.

    2. Haz clic en Crear app de GitHub.

    3. Selecciona el destino en el que deseas instalar la app (tu cuenta de GitHub o una organización).

    4. Selecciona los repositorios en los que deseas instalar la app de GitHub o Todos los repositorios y haz clic en Instalar.

    5. Selecciona los repositorios que se vincularán para esta conexión y haz clic en Aceptar.

    6. Haz clic en Vincular.

GitHub crea un token y Developer Connect lo almacena en tu proyecto deGoogle Cloud como un secreto de Secret Manager. Para obtener más información sobre cómo administrar secretos, consulta cómo ver los detalles de un secreto.

Si habilitaste la residencia de datos, ahora tienes una app de GitHub que puedes administrar haciendo clic en Administrar la instalación en la página Detalles de la conexión.

Configura la conexión

Si no activaste la casilla de verificación Habilitar conexión que cumpla con la residencia de datos, debes seguir estos pasos.

Otorga permisos en tu cuenta de GitHub y vincula los repositorios siguiendo las instrucciones que se indican a continuación. Los mensajes que ves en tu navegador web dependen de si la cuenta de GitHub ya tiene instalada la app de GitHub de Developer Connect.

En el cuadro de diálogo Developer Connect, completa los siguientes pasos:

Si ves una lista de cuentas de GitHub, instala la app y vincula los repositorios completando estos pasos:

  1. Elige la cuenta de GitHub que deseas usar.

  2. Selecciona uno o más repositorios a los que quieras otorgar acceso.

Si ves un mensaje para volver a usar una instalación de la app existente, elige dónde configurar la app siguiendo estos pasos:

  1. Haz clic en Cuenta de GitHub para ver las cuentas que tienen instalada la app de Google Developer Connect. Si ves la cuenta que quieres usar, haz clic en Confirmar para elegirla.

  2. Si no ves la cuenta que quieres usar, haz lo siguiente:

    1. Elige Instala la App de GitHub en otra cuenta de GitHub y haz clic en Confirmar.

    2. Sigue los pasos de GitHub para permitir la instalación de la app.

    3. Selecciona uno o más repositorios a los que quieras otorgar acceso.

Cuando se cierre el diálogo, se completará la instalación de la app.

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

Sigue estos 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 a tu repositorio se agregan a la página Repositorios en la consola de Google Cloud . Puedes agregar más vínculos a las conexiones existentes en cualquier momento.

Si estás configurando Gemini Code Assist, continúa el proceso siguiendo los pasos que se indican en Cómo configurar y usar la personalización de código de Gemini Code Assist.

gcloud

Las siguientes tareas requieren que realices algunas acciones en tu navegador web.

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

  1. Ejecuta el comando gcloud developer-connect connections create para crear una conexión a GitHub:

    gcloud developer-connect connections create CONNECTION_NAME \
        --location=REGION \
        --github-config-app=APP_TYPE \
        --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.
    • APP_TYPE: Es el tipo de app que se instalará en GitHub. Uno de los siguientes:

      FIREBASE para usar con Firebase App Hosting

      DATAFORM para usar con Dataform

      GEMINI_CODE_ASSIST para usar con Gemini Code Assist

      DEVELOPER_CONNECT para usar con todo lo demás

    • --git-proxy-config-enabled: Es una marca opcional que permite que Developer Connect actúe como proxy para las llamadas de Git a GitHub. Esta función se encuentra en vista previa.

    Se crea un nombre de conexión.

  2. Para terminar de crear la conexión, instala la app de GitHub de Developer Connect. Ejecuta el siguiente comando para obtener el URI de instalación de la app:

    gcloud developer-connect connections describe CONNECTION_NAME \
        --location=REGION
    

    Reemplaza lo siguiente:

    • CONNECTION_NAME: Es el nombre de tu conexión.
    • REGION: Es la región de tu conexión.

    Developer Connect devuelve un vínculo para completar los próximos pasos en una ventana del navegador. Cópielo.

  3. Abre el vínculo en un navegador web.

  4. Haz clic en Entiendo y continuar para aceptar compartir tu token de OAuth de GitHub con Developer Connect y almacenarlo en Secret Manager.

  5. Accede a GitHub si se te solicita.

  6. Haz clic en Autorizar Developer Connect para permitir que la app de Google Developer Connect acceda a tu cuenta de GitHub.

    Si no ves este mensaje, significa que ya se otorgó la autorización en esta cuenta.

GitHub crea un token y Developer Connect lo almacena en tu proyecto deGoogle Cloud como un secreto de Secret Manager. Para obtener más información sobre cómo administrar secretos, consulta cómo ver los detalles de un secreto.

Si habilitaste una conexión que cumple con los requisitos de residencia de datos, ahora tienes una app de GitHub que puedes administrar haciendo clic en Administrar la instalación en la página Detalles de la conexión.

Configura la conexión

Otorga permisos en tu cuenta de GitHub y vincula los repositorios siguiendo las instrucciones que se indican a continuación. Los mensajes que ves en tu navegador web dependen de si la cuenta de GitHub ya tiene instalada la app de GitHub de Developer Connect.

En el cuadro de diálogo Developer Connect, completa los siguientes pasos:

Si ves una lista de cuentas de GitHub, instala la app y vincula los repositorios completando estos pasos:

  1. Elige la cuenta de GitHub que deseas usar.

  2. Selecciona uno o más repositorios a los que quieras otorgar acceso.

Si ves un mensaje para volver a usar una instalación de la app existente, elige dónde configurar la app siguiendo estos pasos:

  1. Haz clic en Cuenta de GitHub para ver las cuentas que tienen instalada la app de Google Developer Connect. Si ves la cuenta que quieres usar, haz clic en Confirmar para elegirla.

  2. Si no ves la cuenta que quieres usar, haz lo siguiente:

    1. Elige Instala la App de GitHub en otra cuenta de GitHub y haz clic en Confirmar.

    2. Sigue los pasos de GitHub para permitir la instalación de la app.

    3. Selecciona uno o más repositorios a los que quieras otorgar acceso.

Cuando se cierre el diálogo, se completará la instalación de la app.

Verifica la conexión

Ejecuta el siguiente comando para verificar la creación de tu conexión de GitHub:

gcloud developer-connect connections describe CONNECTION_NAME \
    --location=REGION

Reemplaza lo siguiente:

  • CONNECTION_NAME: Es el nombre de tu conexión.
  • REGION: Es la región de tu conexión.

Developer Connect devuelve un estado en el campo installationState. Si el valor de este campo es COMPLETE, se completó la instalación de la app. De lo contrario, Developer Connect devuelve un URI para que vuelvas a la configuración en el navegador.

Una vez que se complete la conexión, elige qué repositorios vincular siguiendo las instrucciones en Cómo agregar vínculos de repositorios a conexiones existentes.

Una vez que establezcas una conexión con GitHub, podrás vincularte a 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 de GitHub existente, selecciona una de las siguientes opciones:

Console

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

    Abre 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.

  4. Haz clic en Continuar.

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

  6. 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:

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

Reemplaza lo siguiente:

  • REPO_NAME: el nombre de tu repositorio.
  • REPO_URI: Es el vínculo a tu repositorio de GitHub. Por ejemplo, https://github.com/cloud-build/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 enumerar los repositorios vinculados, ejecuta el comando developer-connect connections git-repository-links list.

Si estás configurando Gemini Code Assist, continúa el proceso siguiendo los pasos que se indican en Cómo configurar y usar la personalización de código de Gemini Code Assist.

Uso compartido de datos

Es posible que el contenido de los recursos de Google Cloud vinculados a esta conexión se transfiera a GitHub. Esta declaración se aplica a todos los recursos existentes y futuros que utilicen esta conexión. Para dejar de compartir información con GitHub, borra las conexiones de Developer Connect en la Google Cloud consola o gcloud CLI, y revoca el acceso en GitHub.

¿Qué sigue?