Ce document explique comment connecter un dépôt distant à un Dépôt Dataform. Une fois les dépôts connectés, les modifications que vous apportez dans un L'espace de travail de développement Dataform peut être transféré vers et extrait de un dépôt Git distant.
Vous pouvez connecter un dépôt distant via HTTPS ou SSH.
Le tableau suivant répertorie les fournisseurs Git compatibles et les connexions disponibles pour leurs dépôts:
Fournisseur Git | Mode de connexion |
---|---|
Azure DevOps Services | SSH |
Bitbucket | SSH |
GitHub | SSH ou HTTPS |
GitLab | SSH ou HTTPS |
Avant de commencer
- Si votre organisation ou votre projet limite les dépôts Git distants
avec la règle d'administration
dataform.restrictGitRemotes
, assurez-vous que un dépôt Git distant est ajouté à la liste d'autorisation de la règle avant que créer un dépôt Dataform que vous voulez connecter à un dépôt distant. Pour en savoir plus, consultez Limitez les dépôts distants. - Sélectionner ou Créez un dépôt Dataform. Vous en aurez besoin plus tard pour partager un secret avec votre Compte de service Dataform par défaut.
Rôles requis
Pour obtenir les autorisations nécessaires pour connecter un dépôt Dataform à un dépôt Git distant,
demandez à votre administrateur de vous accorder le
Rôle IAM Administrateur Dataform (roles/dataform.admin
) sur les dépôts.
Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.
Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
Connecter un dépôt distant via SSH
Pour connecter un dépôt distant via SSH, vous devez : générer une clé SSH et un secret Secret Manager. La clé SSH se compose d'une clé SSH publique et d'une clé SSH privée. Vous devez partager la clé SSH publique avec votre fournisseur Git et créer un Secret Manager avec la clé SSH privée. Ensuite, partagez le secret avec votre compte de service Dataform par défaut.
Dataform utilise le secret avec la clé SSH privée pour se connecter à votre compte pour valider les modifications pour le compte des développeurs. Dataform fait ces commits à l'aide de l'adresse e-mail Google Cloud du développeur. qui a effectué chaque commit.
Pour connecter un dépôt distant à un Dataform via SSH, procédez comme suit:
Dans votre fournisseur Git, procédez comme suit:
Azure DevOps Services
- Dans Azure DevOps Services, créez une clé SSH privée.
- Importer la clé SSH publique dans votre dépôt Azure DevOps Services.
Bitbucket
- Dans Bitbucket, créez une clé SSH privée.
- Importer la clé SSH publique dans votre dépôt Bitbucket.
GitHub
- Dans GitHub, créez une clé SSH privée.
- Importer la clé SSH publique GitHub dans votre dépôt GitHub.
GitLab
- Dans GitLab, créez une clé SSH privée.
- Importer la clé SSH publique GitLab dans votre dépôt GitLab.
Dans Secret Manager, créez un secret. et définissez votre clé SSH privée comme valeur du secret.
Accordez l'accès au secret à votre compte de service Dataform par défaut.
Votre compte de service Dataform par défaut est au format suivant:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
Accordez le Rôle
roles/secretmanager.secretAccessor
au compte de service.
Dans la console Google Cloud, accédez à la page Dataform page.
Sélectionnez le dépôt Dataform que vous souhaitez connecter vers le dépôt distant.
Sur la page du dépôt, cliquez sur Paramètres > Connectez-vous à Git.
Dans le volet Associer au dépôt distant, dans la section Dans le champ URL du dépôt Git distant, saisissez l'URL du dépôt Git distant. se terminant par
.git
.L'URL du dépôt Git distant doit se trouver dans l'un des dans les formats suivants:
- URL absolue:
ssh://git@{host_name}[:{port}]/{repository_path}
,port
est facultatif. - URL de type SCP:
git@{host_name}:{repository_path}
.
- URL absolue:
Dans le champ Default Remote branch name (Nom de la branche distante par défaut), saisissez le nom. de la branche de développement principale du dépôt Git distant.
Dans la liste déroulante Secret, sélectionnez votre secret pour le code secret Git distant. un dépôt de clés.
Dans le champ Valeur de la clé d'hôte publique SSH, saisissez la clé d'hôte publique de votre Fournisseur Git
Azure DevOps Services
La valeur de la clé d'hôte publique SSH doit être au format de fichier
known_hosts
. La valeur doit contenir un algorithme et une clé publique encodée au formatbase64
, mais sans le nom d'hôte ni l'adresse IP, au format suivant:ALGORITHM BASE64_KEY_VALUE
Pour récupérer la clé d'hôte publique Azure DevOps Services, Exécutez la commande
ssh-keyscan -t rsa ssh.dev.azure.com
dans le terminal.Bitbucket
La valeur de la clé d'hôte publique SSH doit être au format de fichier
known_hosts
. La valeur doit contenir un algorithme et une clé publique encodée au formatbase64
, mais sans le nom d'hôte ni l'adresse IP, au format suivant:ALGORITHM BASE64_KEY_VALUE
Pour récupérer la clé d'hôte publique Bitbucket, consultez Configurez SSH.
GitHub
La valeur de la clé d'hôte publique SSH doit être au format de fichier
known_hosts
. La valeur doit contenir un algorithme et une clé publique encodée au formatbase64
, mais sans le nom d'hôte ni l'adresse IP, au format suivant:ALGORITHM BASE64_KEY_VALUE
Pour récupérer la clé d'hôte publique GitHub, consultez Empreinte numérique de la clé SSH de GitHub.
GitLab
La valeur de la clé d'hôte publique SSH doit être au format de fichier
known_hosts
. La valeur doit contenir un algorithme et une clé publique encodée au formatbase64
, mais sans le nom d'hôte ni l'adresse IP, au format suivant:ALGORITHM BASE64_KEY_VALUE
Pour récupérer la clé d'hôte publique GitLab, consultez la page Entrées SSH
known_hosts
.Cliquez sur Associer.
Connecter un dépôt distant via HTTPS
Pour connecter un dépôt distant via HTTPS, vous devez créer un Secret Manager par un jeton d'accès personnel, puis partagez le avec votre compte de service Dataform par défaut.
Dataform utilise ensuite ce jeton d'accès pour se connecter à votre fournisseur Git valider les modifications pour le compte des développeurs. Dataform rend ces des commits à l'aide de l'adresse e-mail Google Cloud du développeur. qui a effectué chaque commit.
Pour connecter un dépôt distant à un dépôt Dataform via HTTPS, procédez comme suit:
Dans votre fournisseur Git, procédez comme suit:
GitHub
Dans GitHub, créez un jeton d'accès personnel précis. ou un jeton d'accès personnel classique.
- Pour obtenir un jeton d'accès personnel GitHub précis, procédez comme suit:
Sélectionnez l'accès au dépôt uniquement pour les dépôts sélectionnés, puis sélectionnez le auquel vous souhaitez vous connecter.
Accordez un accès en lecture et en écriture au contenu du dépôt.
Définissez un délai d'expiration de jeton adapté à vos besoins.
- Pour un jeton d'accès personnel GitHub classique, procédez comme suit:
Accordez à Dataform l'autorisation
repo
.Définissez un délai d'expiration de jeton adapté à vos besoins.
Si votre organisation utilise l'authentification unique (SSO) SAML, autoriser le jeton.
GitLab
Dans GitLab, créez un jeton d'accès personnel GitLab.
Nommez le jeton
dataform
.Le jeton d'accès personnel GitLab doit être nommé
dataform
.Accordez à Dataform le rôle
api
,read_repository
, etwrite_repository
.Définissez un délai d'expiration de jeton adapté à vos besoins.
Dans Secret Manager, créer un secret contenant le jeton d'accès personnel de votre dépôt distant.
Accordez l'accès au secret à votre compte de service Dataform par défaut.
Votre compte de service Dataform par défaut est au format suivant:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
- Accordez le
Rôle
roles/secretmanager.secretAccessor
au compte de service.
- Accordez le
Rôle
Dans la console Google Cloud, accédez à la page Dataform page.
Sélectionnez le dépôt Dataform que vous souhaitez connecter vers le dépôt distant.
Sur la page du dépôt, cliquez sur Paramètres > Connectez-vous à Git.
Dans le volet Associer au dépôt distant, dans la section Dans le champ URL du dépôt Git distant, saisissez l'URL du dépôt Git distant. se terminant par
.git
.L'URL du dépôt Git distant ne peut pas contenir de noms d'utilisateur ni de mots de passe.
Dans le champ Default Remote branch name (Nom de la branche distante par défaut), saisissez le nom. de la branche de développement principale du dépôt Git distant.
Dans la liste déroulante Secret, sélectionnez votre secret pour le code secret Git distant. un dépôt de clés.
Cliquez sur Associer.
Modifier la connexion au dépôt distant
Modifier une connexion entre un dépôt Dataform et un dépôt distant git, procédez comme suit:
Dans la console Google Cloud, accédez à la page Dataform page.
Cliquez sur le dépôt que vous souhaitez modifier.
Sur la page du dépôt, cliquez sur Paramètres > Modifier la connexion Git
Dans le volet Associer au dépôt distant, modifiez les paramètres de connexion.
Cliquez sur Mettre à jour.
Étape suivante
Pour en savoir plus sur les dépôts Dataform, consultez Présentation des dépôts.
Pour créer un espace de travail de développement, consultez Créez un espace de travail.
Pour savoir comment résoudre les problèmes de connexion au dépôt distant, consultez Résoudre les problèmes liés à Dataform