Automatiser le deploiement de drupal avec gitlab

Prérequis à mettre en place sur votre serveur

1) Avoir drush d'installé sur le serveur de production

2) Créer une clef ssh pour l'utilisateur apache et la rajouter sur votre serveur gitlab

3) Editer le virtualhost de drupal

RewriteEngine on
RewriteRule .* - [E=X-GITLAB-TOKEN:%{HTTP:X-Gitlab-Token}]

4) Récupérer les fichiers config.sample.php et deploy.php et placer les dans un sous dossier du répertoire drupal

git clone git@github.com:wallon-ines/deploy-drupal.git

5) Renomez le fichier config.sample.php en config.php

6) Editer le fichier config.php

<?php
define('TOKEN', 'MYTOKEN'); // This TOKEN put in Payload URL in GitLab
define('REMOTE_REPOSITORY', 'git@gitlab.com:MYWEBSITE.git');
define('DIR','/var/www/MYWEBSITE/'); // It's important that the path ends with '/'
define('BRANCH','refs/heads/master'); // (Gitlab branch Route)
define('LOGFILE', "log.txt"); // Log File Name
define('GIT', '/usr/bin/git'); // Unix git command route
define('DRUSH', '/usr/bin/drush'); // Unix drush command route

7) Dans votre projet (Settings -> Web Hooks) ajouter les paramètres ci dessous

Url: http://yoursite.com/drupal-deploy/deploy.php

Secret Token: MYTOKEN