En este documento, se muestra cómo vincular un repositorio de Dataform a un en un repositorio de Git remoto de terceros.
Después de vincular los repositorios, los cambios que realices en una El lugar de trabajo de desarrollo de Dataform se puede enviar y extraer del en un repositorio de Git remoto.
Puedes vincular un repositorio de Dataform a un repositorio de Git remoto alojado por el los siguientes proveedores de Git:
Azure DevOps Services
Bitbucket
GitHub
GitLab
Para vincular un repositorio remoto de terceros a un repositorio de Dataform, sigue estos pasos: primero debes autenticarlo. Puedes autenticar un repositorio remoto en Dataform mediante HTTPS o SSH.
En el caso de los repositorios remotos de GitHub y GitLab, puedes usar HTTPS o SSH para la autenticación de varios factores. Para Azure DevOps Services y repositorios remotos de Bitbucket, debes usar SSH.
Antes de comenzar
Si aún no lo has hecho, 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,
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.
Autentica un repositorio remoto a través de HTTPS
Puedes autenticar los repositorios de GitHub y GitLab a través de HTTPS creando un Secret Manager con un token de acceso personal y compartiendo el Secret con tu cuenta de servicio 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 autenticar un repositorio de GitHub, crea token de acceso personal clásico o un token de acceso personal detallado que te permite 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 mediante 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 establecer un tiempo de caducidad de token que sea adecuado para tus necesidades.
Si tu organización usa el inicio de sesión único (SSO) de SAML, autorizar el token.
Opcional: Cuando creas una instancia de GitHub token de acceso personal detallado, haz lo siguiente:
Selecciona el acceso al repositorio solo de los repositorios seleccionados y, luego, elige el al que quieres conectarte.
Otorga acceso de lectura y escritura a los contenidos del repositorio.
Asegúrate de establecer un tiempo de caducidad de token que sea adecuado para tus necesidades.
Si tu organización usa el inicio de sesión único (SSO) de SAML, autorizar 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 el objeto
api
,read_repository
, ywrite_repository
.Asegúrate de establecer un tiempo de caducidad de token que sea adecuado para tus necesidades.
En Secret Manager, crea un secreto que contiene un token de acceso personal para conectarse 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
roles/secretmanager.secretAccessor
a tu cuenta de servicio de Dataform.
- Cuando otorgues acceso, asegúrate de otorgar
Dataform usa el token de acceso para acceder a tu proveedor de Git para 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.
Autentica un repositorio remoto mediante SSH
Puedes autenticar Azure DevOps Services, Bitbucket, GitHub y GitLab. a través de SSH generando una clave SSH y un Secret Manager Secret.
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 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 autenticar un repositorio de Azure DevOps Services, Bitbucket, GitHub o GitLab en Dataform mediante SSH, sigue estos pasos:
En Azure DevOps Services, Bitbucket, GitHub o GitLab, crea una clave SSH.
Si quieres obtener instrucciones para crear una clave SSH de Azure DevOps Services, consulta Usa la autenticación de claves SSH.
Si quieres obtener instrucciones para crear una clave SSH de Bitbucket, consulta Configura SSH.
Si quieres obtener instrucciones para crear una clave 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 los servicios de Azure DevOps, consulta Usa la autenticación de claves SSH.
Si quieres obtener instrucciones para subir una clave SSH pública a Bitbucket, consulta Configura SSH.
Si quieres obtener instrucciones para subir una clave SSH pública a GitHub, consulta Agrega una clave 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 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
roles/secretmanager.secretAccessor
a tu cuenta de servicio de Dataform.
- Cuando otorgues acceso, asegúrate de otorgar
Conecta un repositorio de Dataform
Para vincular un repositorio de Dataform a un repositorio de Git remoto, sigue estos pasos: 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 Configuración > Conéctate con Git.
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
.Para la autenticación HTTPS, la URL del repositorio remoto de Git no puede contienen nombres de usuario o contraseñas.
Para la autenticación SSH, la URL del repositorio de Git remoto 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}
.
- URL absoluta:
En el campo Nombre de rama remota predeterminada, ingresa el nombre. de la rama de desarrollo principal del repositorio remoto de Git.
En el menú desplegable Secreto, selecciona tu secreto para la aplicación remota de Git. en un repositorio de confianza.
Si usaste la autenticación SSH para el repositorio remoto, en el Valor de la clave de host público de SSH, ingresa una única clave de host público de tu proveedor de Git.
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 elbase64
, pero sin el nombre de host o la IP, en el siguiente formato:ALGORITHM BASE64_KEY_VALUE
Para 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.Para la clave de host pública de Bitbucket, consulta Configura SSH.
Para la clave de host público de GitHub, consulta Huellas digitales de la clave SSH de GitHub.
Para obtener información sobre la clave de host pública de GitLab, consulta Entradas
known_hosts
de SSH.
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:
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 > Edita la conexión de Git.
En el panel Vincular al repositorio remoto, edita cualquiera de las siguientes opciones: Opciones:
Edita la URL del recurso vinculado en el campo URL del repositorio de Git remoto. en un repositorio de Git remoto.
La URL del repositorio remoto de Git no puede contener nombres de usuario o contraseñas.
Edita el nombre en el campo Nombre de rama remota predeterminada. de la rama de desarrollo principal del repositorio remoto de Git.
En el menú desplegable Secreto, selecciona tu secreto para la aplicación remota de Git. en un repositorio de confianza.
Si usaste la autenticación SSH para el repositorio remoto, en el Valor de la clave de host público de SSH, ingresa la clave de host pública de tu proveedor de Git.
El valor de la clave de host público de 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
base64
, pero sin el nombre de host o la IP, en el siguiente formato:ALGORITHM BASE64_KEY_VALUE
Para la clave de host pública de Bitbucket, consulta Configura SSH.
Para la clave de host público de GitHub, consulta Huellas digitales de la clave SSH de GitHub.
Para obtener información sobre la clave de host pública de GitLab, consulta Entradas
known_hosts
de SSH.
Haz clic en Actualizar.
¿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 Descripción general de Dataform.