Skip to content
wallon-ines edited this page Jan 27, 2021 · 5 revisions

Développement

  • Partir d'un environnement sans surcharge de configuration Drupal
  • Création d'une branche locale qui suit la branche 8.x-1.x : git checkout -b NOM_BRANCHE --track origin/8.x-1.x
  • Développement, si besoin export de configuration : drush config:export

/!\ Pensez à faire un squash commit avant de pousser votre PR/!\

  • Commit : git commit
  • Récupération des derniers commits si nécessaire : git pull --rebase
  • Résolution des conflits :
    • git add FICHIER_EN_CONFLIT
    • git rebase --continue
  • Lancement script d'update : ./scripts/update.sh
    • le script va :
      • mettre à jour les sources avec un composer install
      • lancer les update de base de données
      • importer la configuration
  • Vérification que ce qui a été fait fonctionne toujours
  • Si KO, correction
  • Si OK, push : git push origin NOM_BRANCHE
  • Création d'une pull request pour revue de code et test par quelqu'un d'autre

Revue de code et merge

  • Si KO, corriger
  • Si OK, merger en utilisant l'option rebase. Si merge avec rebase impossible car conflit, au choix :
    • Rebase local avec merge via l'interface de Github :
      • git checkout NOM_BRANCHE
      • git pull --rebase
      • git push -f origin NOM_BRANCHE
      • merge avec rebase via l'interface de Github
    • Merge en local :
      • git checkout NOM_BRANCHE
      • git pull --rebase
      • git push -f origin NOM_BRANCHE
      • git checkout 8.x-1.x
      • git pull --rebase
      • git merge NOM_BRANCHE
      • Désactiver la protection de push sur la 8.x-1.x
      • git push origin 8.x-1.x
      • Remettre la protection de push sur la 8.x-1.x
  • Supprimer la branche NOM_BRANCHE une fois mergée.
  • Fermer issue et/ou pull request.

Fonctionnement de la CI Github

Introduction

Deux fichiers yaml sont présent pour la CI, l'un s’exécutant à la création de la PR (pr.yml) et l'autre au merge de la pr (deploy.yml).

À la création de la PR

Une fois la PR créée, la CI Github, va exécuter sur une Ubuntu, la vérification des Coding Standard Drupal, sur les modules Custom du projet.

À la validation de la PR

Une fois la PR Validé par un administrateur du projet, la CI Github, va exécuter sur une Ubuntu, une deploy sur le site develop. Pour cela il va merger de la branche 8.x-1.x vers la branche develop du repository "Upstream"

Remarques sur la gestion de la configuration Drupal

Nous sommes passés de Features à Config split, Config ignore, Config installer.

Attention : lors de l'utilisation de drush config:export pour exporter les changement, les paramètres de Config ignore sont ignorés. Merci de faire attention et dé vérifier vos modifications de code avant de commiter.