Conéctate a un repositorio de Git de terceros

En este documento, se muestra cómo conectar un repositorio remoto a un Repositorio de Dataform. Después de conectar los repositorios, los cambios que realices El lugar de trabajo de desarrollo de Dataform se puede enviar y extraer del en un repositorio de Git remoto.

Puedes conectar un repositorio remoto a través de HTTPS o SSH.

En la siguiente tabla, se enumeran los proveedores de Git y las conexiones compatibles que están disponibles para sus repositorios:

Proveedor de Git Método de conexión
Azure DevOps Services SSH
Bitbucket SSH
GitHub SSH o HTTPS
GitLab SSH o HTTPS

Antes de comenzar

  1. Si tu organización o proyecto restringe los repositorios remotos de Git con la política de la organización dataform.restrictGitRemotes, asegúrate de que y se agregará a la lista de entidades permitidas de la política Crea un repositorio de Dataform el que quieres conectar a un repositorio remoto. Para obtener más información, consulta Restringe los repositorios remotos.
  2. Selecciona o Crea un repositorio de Dataform. Lo necesitarás más tarde para compartir un secreto con tu cuenta de servicio predeterminada de Dataform.

Roles obligatorios

Si quieres obtener los permisos que necesitas para conectar un repositorio de Dataform a un repositorio de Git remoto, solicita a tu administrador que te otorgue el Es el rol de IAM de Administrador de Dataform (roles/dataform.admin) en los repositorios. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso.

También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.

Conecta un repositorio remoto a través de SSH

Para conectar un repositorio remoto a través de SSH, debes generar una clave SSH y un secreto de Secret Manager. La clave SSH consta de una clave SSH pública y una privada. Debes compartir la clave SSH pública con tu proveedor de Git y crear Secret de Secret Manager con la clave SSH privada. Luego, comparte el secreto con tu cuenta de servicio predeterminada de Dataform.

Dataform usa el secreto con la clave SSH privada para acceder a tu para confirmar los cambios en nombre de los desarrolladores. Dataform hace de estas confirmaciones con la dirección de correo electrónico de Google Cloud del desarrollador quién hizo cada confirmación.

Para conectar un repositorio remoto a un a través de SSH, sigue estos pasos:

  1. En tu proveedor de Git, haz lo siguiente:

    Azure DevOps Services

    1. En Azure DevOps Services, crea una clave SSH privada.
    2. Sube la clave SSH pública a tu repositorio de Azure DevOps Services.

    Bitbucket

    1. En Bitbucket, crea una clave SSH privada.
    2. Sube la clave SSH pública a tu repositorio de Bitbucket.

    GitHub

    1. En GitHub, crea una clave SSH privada.
    2. Sube la clave SSH pública de GitHub a tu repositorio de GitHub.

    GitLab

    1. En GitLab, crea una clave SSH privada.
    2. Sube la clave SSH pública de GitLab a tu repositorio de GitLab.
  2. En Secret Manager, crea un Secret. y configura tu clave SSH privada como el valor secreto.

    1. Otorga acceso al Secret a tu cuenta de servicio predeterminada de Dataform.

      Tu cuenta de servicio predeterminada de Dataform tiene el siguiente formato:

      service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
      
    2. Otorga el Rol de roles/secretmanager.secretAccessor a la cuenta de servicio.

  3. En la consola de Google Cloud, ve a la página Dataform.

    Ir a Dataform

  4. Selecciona el repositorio de Dataform que quieres conectar al repositorio remoto.

  5. En la página del repositorio, haz clic en Configuración > Conéctate con Git.

  6. En el panel Vínculo al repositorio remoto, en el En el campo URL del repositorio de Git remoto, ingresa la URL del Git remoto. que termina en .git.

    La URL del repositorio remoto de Git debe estar en uno de los siguientes formatos:

    • URL absoluta: ssh://git@{host_name}[:{port}]/{repository_path}, port es opcional.
    • URL similar a SCP: git@{host_name}:{repository_path}.
  7. En el campo Nombre de rama remota predeterminada, ingresa el nombre. de la rama de desarrollo principal del repositorio remoto de Git.

  8. En el menú desplegable Secreto, selecciona tu secreto para la aplicación remota de Git. en un repositorio de confianza.

  9. En el campo Valor de la clave de host público de SSH, ingresa la clave de host pública de tu proveedor de Git.

    Azure DevOps Services

    El valor de la clave de host público de SSH debe tener el formato de un archivo known_hosts. El valor debe contener un algoritmo y una clave pública codificada en el base64, pero sin el nombre de host o la IP, en el siguiente formato:

    ALGORITHM BASE64_KEY_VALUE
    

    Para recuperar la clave de host público de los servicios de Azure DevOps, Ejecuta el comando ssh-keyscan -t rsa ssh.dev.azure.com en la terminal.

    Bitbucket

    El valor de la clave de host público de SSH debe tener el formato de un archivo known_hosts. El valor debe contener un algoritmo y una clave pública codificada en el base64, pero sin el nombre de host o la IP, en el siguiente formato:

    ALGORITHM BASE64_KEY_VALUE
    

    Para recuperar la clave de host público de Bitbucket, consulta Configura SSH.

    GitHub

    El valor de la clave de host público de SSH debe tener el formato de un archivo known_hosts. El valor debe contener un algoritmo y una clave pública codificada en el base64, pero sin el nombre de host o la IP, en el siguiente formato:

    ALGORITHM BASE64_KEY_VALUE
    

    Para recuperar la clave de host público de GitHub, consulta Huellas digitales de la clave SSH de GitHub.

    GitLab

    El valor de la clave de host público de SSH debe tener el formato de un archivo known_hosts. El valor debe contener un algoritmo y una clave pública codificada en el base64, pero sin el nombre de host o la IP, en el siguiente formato:

    ALGORITHM BASE64_KEY_VALUE
    

    Para recuperar la clave de host público de GitLab, consulta Entradas known_hosts de SSH.

  10. Haz clic en Link.

Conecta un repositorio remoto a través de HTTPS

Para conectar un repositorio remoto a través de HTTPS, debes crear un Secret Manager con un token de acceso personal y comparte el Secret por tu cuenta de servicio predeterminada de Dataform.

Luego, Dataform usa el token de acceso para ingresar a tu proveedor de Git confirmar los cambios en nombre de los desarrolladores. Dataform hace que estas confirmaciones con la dirección de correo electrónico de Google Cloud del desarrollador, de modo que puedas quién hizo cada confirmación.

Para conectar un repositorio remoto a un repositorio de Dataform mediante HTTPS, sigue estos pasos: sigue estos pasos:

  1. En tu proveedor de Git, haz lo siguiente:

    GitHub

    1. En GitHub, crea un token de acceso personal detallado o un token de acceso personal clásico.

      • Para obtener un token de acceso personal de GitHub detallado, haz lo siguiente:
      1. Selecciona el acceso al repositorio solo de los repositorios seleccionados y, luego, elige el al que quieres conectarte.

      2. Otorga acceso de lectura y escritura a los contenidos del repositorio.

      3. Establece un tiempo de caducidad de token que se ajuste a tus necesidades.

      • Para un token de acceso personal clásico de GitHub, haz lo siguiente:
      1. Otorga a Dataform el permiso repo.

      2. Establece un tiempo de caducidad de token que se ajuste a tus necesidades.

    2. Si tu organización usa el inicio de sesión único (SSO) de SAML, autorizar el token.

    GitLab

    1. En GitLab, crea un token de acceso personal de GitLab.

    2. Asigna el nombre dataform al token.

      El token de acceso personal de GitLab debe llamarse dataform.

    3. Otorga a Dataform el objeto api, read_repository, y write_repository.

    4. Establece un tiempo de caducidad de token que se ajuste a tus necesidades.

  2. En Secret Manager, crear un secreto que contiene el token de acceso personal del repositorio remoto.

  3. Otorga acceso al Secret a tu cuenta de servicio predeterminada de Dataform.

    Tu cuenta de servicio predeterminada de Dataform tiene el siguiente formato:

    service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
    
    1. Otorga el Rol de roles/secretmanager.secretAccessor a la cuenta de servicio.
  4. En la consola de Google Cloud, ve a la página Dataform.

    Ir a Dataform

  5. Selecciona el repositorio de Dataform que quieres conectar al repositorio remoto.

  6. En la página del repositorio, haz clic en Configuración > Conéctate con Git.

  7. En el panel Vínculo al repositorio remoto, en el En el campo URL del repositorio de Git remoto, ingresa la URL del Git remoto. que termina en .git.

    La URL del repositorio remoto de Git no puede contener nombres de usuario ni contraseñas.

  8. En el campo Nombre de rama remota predeterminada, ingresa el nombre. de la rama de desarrollo principal del repositorio remoto de Git.

  9. En el menú desplegable Secreto, selecciona tu secreto para la aplicación remota de Git. en un repositorio de confianza.

  10. Haz clic en Link.

Edita la conexión del repositorio remoto

Editar una conexión entre un repositorio de Dataform y un recurso remoto repositorio de Git, sigue estos pasos:

  1. En la consola de Google Cloud, ve a la página Dataform.

    Ir a Dataform

  2. Haz clic en el repositorio que deseas editar.

  3. En la página del repositorio, haz clic en Configuración > Edita la conexión de Git.

  4. En el panel Vínculo al repositorio remoto, edita la configuración de conexión.

  5. Haz clic en Actualizar.

¿Qué sigue?