Retour au blog

Comment utiliser Bitbucket Pipelines pour la CI/CD dans le développement web WordPress et Drupal

2023-12-026 min de lecture

Dans le monde du développement de sites web, il est important de travailler rapidement et sans erreurs. L'Intégration Continue et le Déploiement Continu (CI/CD) aident à y parvenir en automatisant certaines parties de notre travail. Dans cet article, je vais vous montrer comment utiliser Bitbucket Pipelines pour automatiser diverses tâches, telles que les tests et le déploiement de projets construits avec Drupal et WordPress, deux systèmes de gestion de contenu largement utilisés.

Introduction à Bitbucket et Git

Avant d'explorer les subtilités de Bitbucket Pipelines, il est essentiel de comprendre Bitbucket lui-même. Bitbucket, faisant partie de la suite Atlassian, est un service d'hébergement de dépôts de contrôle de version basé sur le web. Il est largement utilisé pour la gestion des dépôts Git, offrant des dépôts privés et publics. Cette fonctionnalité, en particulier la disponibilité de dépôts privés dans son niveau gratuit, fait de Bitbucket un choix privilégié pour les équipes et les développeurs individuels. Il ne s'agit pas seulement d'héberger du code ; Bitbucket s'intègre à d'autres produits Atlassian comme Jira et Bamboo, créant un écosystème transparent pour le développement logiciel, de la planification au déploiement. Git, l'épine dorsale de Bitbucket, est un système de contrôle de version distribué qui permet à plusieurs développeurs de collaborer efficacement sur la même base de code.

Qu'est-ce que Bitbucket Pipelines ?

Imaginez un outil qui entre en action dès que vous poussez des modifications vers votre dépôt distant. C'est Bitbucket Pipelines. Intégré à votre dépôt Bitbucket, il automatise une variété de tâches chaque fois que vous mettez à jour votre code. Ces tâches sont définies dans un fichier de configuration nommé bitbucket-pipelines.yml. La gamme d'étapes automatisées qu'il peut effectuer comprend, sans s'y limiter :

  1. Tests de code : Exécution de tests unitaires, de tests d'intégration et d'autres tests automatisés pour garantir la qualité du code.
  2. Tests de bout en bout : Exécution de tests E2E pour simuler des scénarios d'utilisateurs réels et valider la fonctionnalité complète et l'expérience utilisateur de l'application.
  3. Déploiement de code : Déploiement automatique du code vers différents environnements comme la staging ou la production.
  4. Construction d'artefacts : Compilation du code ou construction d'applications en packages ou exécutables déployables.
  5. Exécution de scripts : Exécution de scripts personnalisés à diverses fins, telles que les migrations de bases de données ou les tâches de nettoyage.
  6. Linting et analyse de code : Vérification du code pour les erreurs de syntaxe, les problèmes de formatage et les bogues potentiels.
  7. Notifications : Envoi de notifications ou d'alertes basées sur le résultat des étapes du pipeline.
  8. Opérations Docker : Construction, exécution et envoi d'images Docker vers des registres.
  9. Analyse de sécurité : Réalisation d'analyses de sécurité pour identifier les vulnérabilités dans la base de code.
  10. Génération de documentation : Génération et mise à jour automatiques de la documentation basées sur les changements de code.
  11. Tests de performance : Réalisation de tests de charge et de performance pour évaluer le comportement de l'application sous stress.

Avec ces capacités, Bitbucket Pipelines améliore l'efficacité, la cohérence et la fiabilité de votre processus de développement logiciel.

Configuration d'un dépôt avec Bitbucket Pipelines

1. Créer ou sélectionner votre dépôt

  • Étape 1 : Connectez-vous à votre compte Bitbucket.
  • Étape 2 : Créez un nouveau dépôt ou sélectionnez-en un existant où vous souhaitez configurer Bitbucket Pipelines.

2. Initialiser Bitbucket Pipelines

  • Étape 3 : Dans votre dépôt, naviguez vers la section « Pipelines » dans la barre latérale gauche.
Bitbucket Pipelines
  • Étape 4 : Cliquez sur « Créez votre premier pipeline ». Bitbucket affichera une variété de modèles.
  • Étape 5 : Choisissez un modèle qui correspond le mieux à la pile technologique de votre projet. Par exemple, sélectionnez « Build PHP Application » pour un projet basé sur PHP.
  • Étape 6 : Bitbucket affichera le fichier bitbucket-pipelines.yml généré en fonction du modèle sélectionné. Examinez la configuration du pipeline pour vous assurer qu'elle correspond aux exigences de votre projet. Ce fichier comprend des étapes prédéfinies pour tester et analyser votre code PHP.
  • Étape 7 : Vous pouvez modifier le fichier directement dans l'interface Bitbucket pour personnaliser les étapes du pipeline selon les besoins de votre projet. Assurez-vous de définir toutes les étapes de construction, de test ou de déploiement supplémentaires requises par votre projet.
  • Étape 8 : Une fois que vous avez examiné et éventuellement modifié la configuration, cliquez sur « Commit file » pour enregistrer le fichier bitbucket-pipelines.yml dans votre dépôt.

3. Ajouter une clé SSH pour l'accès au serveur (facultatif)

  • Étape 9 : Naviguez vers « Paramètres du dépôt », puis « Clés SSH » sous « Pipelines » si votre processus de déploiement nécessite un accès SSH à votre serveur.
  • Étape 10 : Ici, vous pouvez soit générer une nouvelle paire de clés SSH, soit en ajouter une existante en cliquant sur « Utiliser mes propres clés ».
  • Étape 11 : Si vous ajoutez une clé existante, fournissez la clé privée dans l'espace prévu et étiquetez-la (par exemple, « Serveur de déploiement »).
  • Étape 12 : Pour que la clé SSH fonctionne, vous devez également ajouter les informations d'hôte du serveur sous « Hôtes connus ». Entrez l'adresse de l'hôte et récupérez l'empreinte digitale de l'hôte pour garantir des connexions sécurisées.
  • Étape 13 : Enregistrez les détails de la clé SSH et des hôtes connus.

4. Définir les variables du dépôt

  • Étape 14 : Accédez aux « Paramètres du dépôt » et cliquez sur « Variables du dépôt » sous « Pipelines ».
  • Étape 15 : Cliquez sur le bouton « Ajouter » pour créer une nouvelle variable.
  • Étape 16 : Entrez le « Nom » de la variable, tel que DEV_SERVER, et la « Valeur » qui lui correspond.
  • Étape 17 : Si la variable est sensible, assurez-vous que la case « Sécurisé » est cochée pour masquer la valeur dans les journaux.
  • Étape 18 : Cliquez sur « Ajouter » pour enregistrer la variable.

5. Définir les environnements de déploiement

  • Étape 19 : Dans les « Paramètres du dépôt », naviguez vers « Déploiements » sous « Pipelines ».
  • Étape 20 : Définissez vos environnements de déploiement. Bitbucket prend en charge jusqu'à cent environnements de déploiement sous les catégories : Test, Staging et Production.
  • Étape 21 : Pour chaque environnement, vous pouvez spécifier différentes configurations. Entrez les détails spécifiques à l'environnement tels que les URL, les chemins de serveur ou toute autre donnée pertinente sous forme de variables de dépôt, en les préfixant avec le nom de l'environnement comme TEST_, STAGE_ et PROD_ pour plus de clarté.
  • Étape 22 : Assurez-vous que toute information sensible pour chaque environnement est sécurisée. Bitbucket masquera les variables sécurisées dans les journaux et l'interface utilisateur.

6. Finaliser la configuration

  • Étape 23 : Validez toutes les modifications apportées au fichier bitbucket-pipelines.yml.
  • Étape 24 : Poussez les modifications vers votre dépôt pour déclencher le pipeline.
  • Étape 25 : Utilisez ignorelist.txt dans votre processus de déploiement. Dans le cadre de l'étape de déploiement, en particulier lors de la synchronisation de fichiers avec rsync, il est important de gérer les fichiers qui sont transférés vers l'environnement de production. Pour cela, nous utilisons un fichier spécial appelé ignorelist.txt. Ce fichier contient une liste de tous les fichiers et répertoires qui doivent être exclus pendant le processus rsync afin d'éviter l'écrasement ou le transfert inutile de fichiers.

Pour des exemples pratiques de configurations bitbucket-pipelines.yml, visitez ce dépôt : Exemples Bitbucket Pipelines. Notamment, cet exemple axé sur Drupal illustre l'exécution de composer install dans le cloud pour les projets Drupal. Ces exemples servent de point de départ utile pour personnaliser vos propres pipelines.

7. Surveiller votre pipeline

Étape 26 : Vérifiez la section « Pipelines » après chaque poussée pour surveiller l'exécution et afficher les journaux.

Réflexions finales

Pour résumer, Bitbucket Pipelines apporte beaucoup de facilité et d'efficacité au développement web. Il simplifie le travail d'équipe, les tests et le déploiement, rendant notre travail plus fluide.

N'oubliez pas que le monde de la CI/CD est en constante évolution. Ce que j'ai couvert n'est qu'un début. Au fur et à mesure que vous utiliserez davantage Bitbucket Pipelines, vous découvrirez de nouvelles façons de l'optimiser pour vos besoins. Continuez à explorer et à améliorer votre processus de développement. Bon débogage !