Avec l'intégration Git par défaut de Looker, les développeurs Looker appliquent leurs modifications dans leur branche de développement, puis fusionnent leur branche de développement dans la branche de production. Ensuite, lors du déploiement dans l'environnement Looker, Looker utilise le dernier commit sur la branche de production. (Consultez la page de documentation Utiliser le contrôle des versions et le déploiement pour connaître le workflow Git par défaut et les autres options d'implémentation Git avancée.)
Pour les implémentations Git avancées pour lesquelles vous ne souhaitez pas utiliser le dernier commit de votre branche de production dans votre environnement Looker, un administrateur Looker peut activer le mode de déploiement avancé. Lorsqu'il est activé, le mode de déploiement avancé permet à un développeur avec l'autorisation deploy
de spécifier un autre SHA ou tag de commit à déployer dans votre environnement de production Looker, au lieu d'utiliser le dernier commit sur la branche de production. Si vous souhaitez déployer un commit à partir d'une autre branche, vous pouvez utiliser le mode webhook ou le point de terminaison de l'API en mode déploiement avancé.
Le mode de déploiement avancé permet de consolider les dépôts dans les workflows de développement multi-environnements, où chaque environnement pointe vers une version différente d'un codebase. Cela permet également à un ou plusieurs développeurs ou administrateurs de mieux contrôler les modifications déployées en production.
Lorsque le mode de déploiement avancé est activé, Looker n'invite pas les développeurs à déployer leurs modifications en production. Au lieu de cela, Looker invite les développeurs à fusionner leurs modifications dans la branche de production. À partir de là, vous pouvez déployer les modifications comme suit:
- Utiliser Deployment Manager
- Déclencher un webhook
- Utiliser un point de terminaison de l'API
Activer le mode de déploiement avancé
Pour activer le mode de déploiement avancé:
- Accédez à l'onglet Configuration de la page Paramètres du projet en sélectionnant l'icône Paramètres dans le menu des icônes situé à gauche.
- Cochez la case Activer le mode de déploiement avancé dans la section Déploiement.
- Sélectionnez le bouton Save Project Configuration (Enregistrer la configuration du projet) pour enregistrer vos modifications.
Contrôle des versions avec le mode de déploiement avancé
Lorsque le mode de déploiement avancé est activé, les développeurs ne peuvent plus déployer en production depuis Looker. Lorsque le développeur effectue un commit, le bouton lui demande de fusionner ses modifications dans la branche principale au lieu de les déployer en production.
Les modifications sont déployées en production à l'aide d'un webhook, de l'API ou de Deployment Manager.
Deployment Manager
Pour les projets dans lesquels le mode de déploiement avancé est activé, les développeurs Looker disposant de l'autorisation deploy
peuvent utiliser Deployment Manager pour déployer un commit ou un tag dans leur environnement de production Looker.
Deployment Manager affiche tous les commits et tags précédemment déployés à l'aide du mode de déploiement avancé.
Comme décrit dans la section Déployer un commit à partir de Deployment Manager sur cette page, vous pouvez déployer un commit avec ou sans tag. Si vous déployez un commit avec un tag, le gestionnaire de déploiement affiche le SHA de tag, qui est différent d'un SHA de commit. Vous pouvez utiliser l'historique des commits de votre projet Looker pour afficher le commit SHA associé à une balise. Sinon, si vous déployez un commit sans balise, le gestionnaire de déploiement affiche le SHA de commit, qui est identique à celui que vous pouvez voir sur l'interface de votre fournisseur Git ou dans l'historique de commits de votre projet Looker.
Si vous n'avez pas encore utilisé le mode de déploiement avancé pour déployer un commit, sélectionnez le bouton Sélectionner un commit pour afficher l'historique des commits que vos développeurs Looker ont fusionnés avec la branche de production.
Pour les projets qui ont utilisé le mode de déploiement avancé pour déployer un commit, l'historique des commits indique également les balises associées à un commit, le cas échéant. Il indique également la version actuelle utilisée pour la production.
Si la branche de production comporte des commits plus récents que le commit déployé, le gestionnaire de déploiement affiche ces informations et affiche le commit le plus récent que vos développeurs Looker ont fusionné avec la branche de production.
Déployer un commit à partir de Deployment Manager
Il existe plusieurs façons de déployer un commit à partir de Deployment Manager:
- Pour déployer un commit qui n'a pas encore été déployé, cliquez sur le bouton Sélectionner un commit pour choisir parmi tous les commits fusionnés avec la branche de production distante. (Si vous souhaitez déployer un commit depuis une autre branche, utilisez le mode de déploiement avancé webhook ou le point de terminaison de l'API.)
- Pour déployer le dernier commit fusionné dans la branche de production distante, sélectionnez le bouton Déployer les plus récents.
- Pour déployer un commit ou une balise déjà déployé, sélectionnez son menu Options à trois points dans Deployment Manager, puis cliquez sur Déployer en production.
Si vous choisissez un commit qui n'a pas été déployé précédemment, Deployment Manager affichera la fenêtre modale Deploy Commit.
- Pour déployer le commit sans lui attribuer de tag, sélectionnez Déployer sans tag, puis Déployer dans l'environnement. Sinon, laissez l'option Ajouter un tag et déployer sélectionnée.
Spécifiez un tag pour le commit. Un tag Git indique la signification du commit dans l'historique du dépôt, par exemple un numéro de version ou un nom de version. Remarques concernant les tags Git:
- Les tags Git doivent être uniques au sein du dépôt Git. Vous ne pouvez pas utiliser le même tag pour deux commits différents dans votre dépôt.
- Les tags Git ne peuvent pas contenir d'espaces ni certains caractères spéciaux. Consultez la documentation de référence Git pour connaître les règles de dénomination des références dans Git.
Vous pouvez éventuellement ajouter une description de la balise pour fournir plus de détails sur le commit.
Sélectionnez Déployer dans l'environnement pour déployer le commit dans la version de production de votre instance Looker.
Lorsque vous déployez un commit, Deployment Manager le marque comme version actuelle dans votre environnement de production Looker.
Déployer avec des webhooks
Pour les projets avec le mode de déploiement avancé, vous pouvez utiliser le webhook de déploiement pour déployer les modifications en production.
Pour configurer le webhook de déploiement, vous devez d'abord ajouter un secret de webhook pour votre projet Looker depuis la page Paramètres du projet. Cela permet de s'assurer que seules les parties autorisées peuvent déclencher le webhook de déploiement.
Deux webhooks sont disponibles pour déployer les modifications en production avec le mode de déploiement avancé activé. L'un sert au déploiement de l'en-tête d'une branche et l'autre au déploiement d'un tag ou d'un tag Git spécifique.
Le webhook permettant de déployer l'en-tête d'une branche utilise le format suivant:
<Looker URL>/webhooks/projects/<LookML project name>/deploy/branch/<Git branch name>
Le webhook permettant de déployer un SHA ou un tag de commit utilise le format suivant:
<Looker URL>/webhooks/projects/<LookML project name>/deploy/ref/<commit SHA or tag>
Remplacez les informations entre chevrons < >
v1.0
pour le projet e_faa
sur l'instance Looker docsexamples.dev.looker.com
:
https://docsexamples.dev.looker.com/webhooks/projects/e_faa/deploy/ref/v1.0
Déployer avec l'API
Pour les projets avec le mode de déploiement avancé, vous pouvez utiliser l'API Looker pour déployer les modifications en production.
Pour que vous puissiez effectuer le déploiement avec l'API, l'utilisateur qui effectue l'appel devra disposer de l'autorisation deploy
. Pour en savoir plus sur l'authentification et l'utilisation de l'API Looker, consultez les pages de documentation Authentification Looker et Premiers pas avec l'API.
Pour effectuer un déploiement avec l'API, utilisez le point de terminaison deploy_ref_to_production
. Ce point de terminaison peut être appelé de différentes manières. Les exemples suivants concernent les méthodes HTTPS et SDK.
HTTPS
Lorsque vous utilisez les exemples suivants, veillez à remplacer les éléments entre chevrons
par les informations spécifiques à votre adresse d'instance, votre projet LookML, le nom de votre branche, votre algorithme SHA ou votre tag. < >
Pour effectuer un déploiement manuel à l'aide du point de terminaison de l'API deploy_ref_to_production
, consultez les exemples suivants, qui utilisent la méthode HTTPS. Pour obtenir plus d'informations et des exemples sur la façon d'appeler manuellement l'API à l'aide de requêtes CURL, consultez le fichier README de la section Comment s'authentifier auprès de l'API ou utilisez l'API Explorer. Vous pouvez installer l'explorateur d'API sur votre instance Looker depuis Looker Marketplace ou afficher une version publique sur le portail des développeurs de Looker.
Dans une requête HTTPS, utilisez les exemples suivants pour déployer l'en-tête d'une branche, ou un SHA ou un tag de commit spécifique via le point de terminaison de l'API deploy_ref_to_production
:
Déployer l'en-tête d'une branche : <HOST_URL>/api/4.0/projects/<PROJECT_ID>/deploy_ref_to_production?branch=<BRANCH_NAME>
Déployez un SHA ou un tag de commit : <HOST_URL>/api/4.0/projects/<PROJECT_ID>/deploy_ref_to_production?ref=<SHA_OR_TAG>
SDK
Lorsque vous utilisez les exemples suivants, veillez à remplacer les éléments entre chevrons
par les informations spécifiques à votre projet LookML et au nom de la branche, SHA ou tag. < >
Vous pouvez également utiliser l'un des SDK de Looker au lieu d'envoyer des requêtes manuelles à l'API. Les SDK gèrent les détails de l'authentification, la sérialisation des paramètres et des réponses, ainsi que d'autres problèmes.
Le déploiement avec deploy_ref_to_production
à l'aide de la méthode SDK se présente comme suit:
Déployer l'en-tête d'une branche : deploy_ref_to_production(<PROJECT_ID>, {branch: <BRANCH_NAME>})
Déployez un SHA ou un tag de commit : deploy_ref_to_production(<PROJECT_ID>, {ref: <SHA_OR_TAG>})