En este documento, se muestra cómo vincular un repositorio de Dataform a un repositorio de Git remoto de terceros.
Después de vincular los repositorios, los cambios que realices en un lugar de trabajo de desarrollo de Dataform se pueden enviar y extraer desde el repositorio de Git remoto.
Puedes vincular un repositorio de Dataform a un repositorio de Git remoto alojado por los siguientes proveedores de Git:
Bitbucket Cloud
GitHub
GitLab
Para vincular un repositorio remoto de terceros a un repositorio de Dataform, primero debes autenticarlo. Puedes autenticar un repositorio remoto en Dataform a través de HTTPS o SSH.
Para los repositorios remotos de GitHub y GitLab, puedes usar HTTPS o SSH para la autenticación. Para los repositorios remotos de Bitbucket Cloud, debes usar SSH.
Antes de comenzar
Si aún no lo hiciste, crea un repositorio de Dataform. Lo necesitarás más adelante para compartir un secreto con tu cuenta de servicio de Dataform.
Roles obligatorios
Si quieres obtener los permisos que necesitas para vincular un repositorio de Dataform a un repositorio de Git remoto,
pídele a tu administrador que te otorgue el
rol de IAM Administrador de Dataform (roles/dataform.admin
) en los repositorios.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso.
Es posible que también puedas obtener los permisos necesarios mediante funciones personalizadas, o bien otras funciones predefinidas.
Autentica un repositorio remoto mediante HTTPS
Puedes autenticar los repositorios de GitHub y GitLab a través de HTTPS si creas un secreto de Secret Manager con un token de acceso personal y lo compartes con tu cuenta de servicio de Dataform.
Luego, Dataform usa el token de acceso para acceder a tu proveedor de Git y confirmar los cambios en nombre de los desarrolladores. Dataform realiza estas confirmaciones mediante la dirección de correo electrónico de Google Cloud del desarrollador para que puedas saber quién realizó cada confirmación.
Para autenticar un repositorio de GitHub, crea un token de acceso personal clásico o un token de acceso personal detallado que te permita personalizar los permisos del token.
Para autenticar un repositorio de GitLab, crea un token de acceso personal clásico.
Para autenticar un repositorio de GitHub o GitLab en Dataform a través de HTTPS, sigue estos pasos:
En GitHub o GitLab, crea un token de acceso personal.
Cuando crees un token de acceso personal de GitHub, haz lo siguiente:
Otorga a Dataform el permiso
repo
.Asegúrate de configurar un tiempo de vencimiento del token que sea apropiado para tus necesidades.
Si la organización usa el inicio de sesión único (SSO) de SAML, autoriza el token.
Opcional: Cuando crees un token de acceso personal detallado de GitHub, haz lo siguiente:
Selecciona el acceso al repositorio solo para los repositorios seleccionados y, luego, selecciona el repositorio al que deseas conectarte.
Otorga acceso de lectura y escritura a los contenidos del repositorio.
Asegúrate de configurar un tiempo de vencimiento del token que sea apropiado para tus necesidades.
Si la organización usa el inicio de sesión único (SSO) de SAML, autoriza el token.
Cuando crees un token de acceso personal de GitLab, haz lo siguiente:
Asigna el nombre
dataform
al token.El token de acceso personal de GitLab debe llamarse
dataform
.Otorga a Dataform los permisos
api
,read_repository
ywrite_repository
.Asegúrate de configurar un tiempo de vencimiento del token que sea apropiado para tus necesidades.
En Secret Manager, crea un secreto que contenga un token de acceso personal para conectarte con tu proveedor de Git.
Otorga acceso al secreto a tu cuenta de servicio de Dataform.
Tu cuenta de servicio de Dataform tiene el siguiente formato:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
- Cuando otorgues acceso, asegúrate de otorgar el rol
roles/secretmanager.secretAccessor
a tu cuenta de servicio de Dataform.
- Cuando otorgues acceso, asegúrate de otorgar el rol
Dataform usa el token de acceso para acceder a tu proveedor de Git a fin de confirmar los cambios en nombre de los desarrolladores. Dataform realiza estas confirmaciones mediante la dirección de correo electrónico de Google Cloud del desarrollador para que puedas saber quién realizó cada confirmación.
Autentica un repositorio remoto a través de SSH
Puedes autenticar los repositorios de Bitbucket Cloud, GitHub y GitLab a través de SSH si generas una clave SSH y un secreto de Secret Manager.
La clave SSH consta de una clave SSH pública y una privada SSH. Debes compartir la clave SSH pública con tu proveedor de Git y crear un secreto de Secret Manager con la clave SSH privada. Luego, comparte el secreto con tu cuenta de servicio de Dataform.
Dataform usa el secreto con la clave SSH privada para acceder a tu proveedor de Git y confirmar los cambios en nombre de los desarrolladores. Dataform realiza estas confirmaciones con la dirección de correo electrónico de Google Cloud del desarrollador para que puedas saber quién realizó cada una de ellas.
Para autenticar un repositorio de Bitbucket Cloud, GitHub o GitLab en Dataform a través de SSH, sigue estos pasos:
En Bitbucket Cloud, GitHub o GitLab, crea una clave SSH.
Si deseas obtener instrucciones para crear una clave SSH de Bitbucket Cloud, consulta Configura SSH.
Para obtener instrucciones sobre cómo crear una Llave SSH de GitHub, consulta Genera una clave SSH nueva.
Si quieres obtener instrucciones para crear una clave SSH de GitLab, consulta Genera un par de claves SSH.
Sube la clave SSH pública a tu cuenta de Git de terceros.
Si quieres obtener instrucciones para subir una clave SSH pública a Bitbucket Cloud, consulta Configurar SSH.
Si quieres obtener instrucciones para subir una Llave SSH pública a GitHub, consulta Cómo agregar una Llave SSH nueva a tu cuenta de GitHub.
Si quieres obtener instrucciones para subir una clave SSH pública a GitLab, consulta Agrega una clave SSH a tu cuenta de GitLab.
En Secret Manager, crea un secreto con la clave SSH privada como valor del secreto.
Otorga acceso al secreto a tu cuenta de servicio de Dataform.
Tu cuenta de servicio de Dataform tiene el siguiente formato:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
- Cuando otorgues acceso, asegúrate de otorgar el rol
roles/secretmanager.secretAccessor
a tu cuenta de servicio de Dataform.
- Cuando otorgues acceso, asegúrate de otorgar el rol
Conecta un repositorio de Dataform
Para vincular un repositorio de Dataform a un repositorio de Git remoto, sigue estos pasos:
En la consola de Google Cloud, ve a la página Dataform.
Selecciona el repositorio que deseas conectar.
En la página del repositorio, haz clic en Settings > Connect with Git.
En el panel Vínculo al repositorio remoto, define las siguientes opciones:
En el campo URL del repositorio de Git remoto, ingresa la URL del repositorio de Git remoto, que termina en
.git
.La URL del repositorio de Git remoto no puede contener nombres de usuario ni contraseñas.
En el campo Nombre predeterminado de la rama remota, ingresa el nombre de la rama de desarrollo principal del repositorio de Git remoto.
En el menú desplegable Secreto, selecciona tu secreto para el repositorio de Git remoto.
Si usaste la autenticación SSH para el repositorio remoto, en el campo Valor de la clave de host público SSH, ingresa una sola clave de host pública de tu proveedor de Git.
El valor de la clave de host pública SSH debe tener el formato de un archivo
known_hosts
. El valor debe contener un algoritmo y una clave pública codificada en el formatobase64
, pero sin el nombre de host ni la IP, en el siguiente formato:ALGORITHM BASE64_KEY_VALUE
Para obtener la clave de host pública de Bitbucket Cloud, consulta Configura SSH.
Para obtener la clave del host pública de GitHub, consulta las huellas digitales de la clave SSH de GitHub.
Para obtener la clave de host pública de GitLab, consulta las entradas
known_hosts
de SSH.
Haz clic en Vincular.
Edita la conexión del repositorio remoto
Para editar una conexión entre un repositorio de Dataform y un repositorio de Git remoto, sigue estos pasos:
En la consola de Google Cloud, ve a la página Dataform.
Haz clic en el repositorio que deseas editar.
En la página del repositorio, haz clic en Configuración > Editar conexión de Git.
En el panel Vincular a repositorio remoto, edita cualquiera de las siguientes opciones:
En el campo URL del repositorio de Git remoto, edita la URL del repositorio de Git remoto vinculado.
La URL del repositorio de Git remoto no puede contener nombres de usuario ni contraseñas.
En el campo Nombre predeterminado de la rama remota, edita el nombre de la rama de desarrollo principal del repositorio de Git remoto.
En el menú desplegable Secreto, selecciona tu secreto para el repositorio de Git remoto.
Si usaste la autenticación SSH para el repositorio remoto, en el campo Valor de la clave de host público SSH, ingresa la clave de host pública de tu proveedor de Git.
El valor de la clave de host pública SSH debe tener el formato de un archivo de host conocido. El valor debe contener un algoritmo y una clave pública codificada en el formato
base64
, pero sin el nombre de host ni la IP, en el siguiente formato:ALGORITHM BASE64_KEY_VALUE
Para obtener la clave de host pública de Bitbucket Cloud, consulta Configura SSH.
Para obtener la clave del host pública de GitHub, consulta las huellas digitales de la clave SSH de GitHub.
Para obtener la clave de host pública de GitLab, consulta las entradas
known_hosts
de SSH.
Haga clic en Update.
¿Qué sigue?
Para obtener más información sobre los repositorios de Dataform, consulta Introducción a los repositorios.
Para crear un lugar de trabajo de desarrollo, consulta Crea un lugar de trabajo.
Para obtener más información sobre Dataform, consulta la descripción general de Dataform.