Skip to main content

Déploiement

Job permettant déployer la base code sur le serveur.

Lance un composer install --no-dev, un drush deploy...

Utilisation

variables:
CI_TEMPLATE_VERSION: &CI_TEMPLATE_VERSION main
DRUPAL_SITE_PATH : 'web/sites/default'

include:
- project: kgaut/gitlab-ci-templates
ref: *CI_TEMPLATE_VERSION
file:
- '/templates/generic/stages-variables-extends.yml'
- '/templates/drupa/deploy.yml'

Scripts pre-déploiement et post-déploiement

Il est possible d'executer des script drush avant le déploiement et après le déploiement

Scripts pré-déploiement

Lancés avant le job deploy, avant donc que le dépôt ne soit mis à jour sur le serveur, que le composer install soit lancé...

Il est utile pour désactiver un module avant sa suppression effective du composer.json

Scripts post-déploiement

Lancés une fois que tout est déployé et que les updates de base de données sont joués.

Emplacements des scripts

Par défault:

  • les scripts de pré-déploiement doivent être dans le dossier scripts/pre-deploy
  • les scripts de post-déploiement doivent être dans le dossier scripts/post-deploy

Tout cela peut-être écrasé via les variables

  • $MIGRATION_SCRIPT_PATH défault à scripts
  • $MIGRATION_SCRIPT_PREDEPLOY_PATH défault à $MIGRATION_SCRIPT_PATH/pre-deploy
  • MIGRATION_SCRIPT_POSTDEPLOY_PATH défault à $MIGRATION_SCRIPT_PATH/post-deploy

Notes

  • Si ces dossiers sont vide, alors rien n'est executé.
  • Si vous ne supprimez pas un script de migration, il sera executé à chaque déploiement, à vous de gérer le cas si un script ne doit pas être lancé une seconde fois.

Variables nécessaires

Nom de la variableContenuExempleRemarque
DIFFS_PATHDossier relatif à la racine du projet devant contenir les patchs générés par le difffiles/diffsce dossier doit exister dans l'arboresence est être .gitignored
DRUSH_ALIASAlias drush ou paramètre supplémentaire si nécessaire@monsitene pas le définir si inutile
DRUSH_BINChemin relatif à la racine du projet vers le binaire drushvendor/bin/drush
PROJECT_ROOTChemin relatif ou absolu vers la racine du projet~/public_html
SSH_CHAINChaine de connexion SSHssh user@serveur
DRUPAL_SITE_PATHChemin vers le site drupal depuis le docrootweb/sites/defaultvariable définie par défaut à web/sites/default
MIGRATION_SCRIPT_PATHChemin vers le dossier contenant les dossiers de scripts de migration depuis le docrootscriptsvariable définie par défaut à scripts
MIGRATION_SCRIPT_PREDEPLOY_PATHChemin vers le site drupal depuis le docroot$MIGRATION_SCRIPT_PATH/pre-deployvariable définie par défaut à $MIGRATION_SCRIPT_PATH/pre-deploy
MIGRATION_SCRIPT_POSTDEPLOY_PATHChemin vers le site drupal depuis le docroot$MIGRATION_SCRIPT_PATH/post-deployvariable définie par défaut à $MIGRATION_SCRIPT_PATH/post-deploy

Liste des jobs

pre-deploy

Lance les scripts de pré-déploiement

deploy

Lance le déploiement

  • mise à jour du dépôt
  • composer install
  • drush deploy...

post-deploy

Lance les scripts de post-déploiement