developement:git_deployement
Ceci est une ancienne révision du document !
Table des matières
Git Deployement
Sur le serveur en ligne
créer un depos git "bare"
cd /home/username/ mkdir -p gitBareRepos/project-name.git cd gitBareRepos/project-name.git git init --bare
créer le hook post-update
en ajoutant fichier post-receive suivant dans
/home/username/gitBareRepos/project-name.git/hooks/
rendre le hook executable
chmod +x post-receive.sh
- post-receive
#!/bin/bash #hook/post-receive PRODDIR="/var/www/project-name" read oldrev newrev refname if [ $refname = "refs/heads/prod" ]; then echo "===== DEPLOYING APP =====" unset GIT_DIR cd ~ cd $PRODDIR . deploy.sh echo $? echo "====== OK =====" else echo "Warning Commit not deployed, please use prod branch" fi
Créer le dépos git du site de production
cd /var/www/ mkdir -p project-name/public_html cd project-name/public_html git init git remote add origin /home/username/gitBareRepos/project-name.git
ajouter le script de deployment
ajouter le script suivant dans /var/www/project-name
pour drupal 7
- deploy.sh
#!/bin/sh echo "" echo "Switching to project docroot." cd /var/www/project-name/public_html echo "" echo "Pulling down latest code." git pull --ff-only origin prod echo "" echo "Clearing drush cache" drush cc drush echo "" echo "Run database updates." drush updb -y echo "" echo "Reverting features modules." drush fra -y echo "" echo "Clearing caches." echo "" drush cc all echo "" echo "Deployment complete."
pour drupal 8
si le site n'est pas géré avec composer, commenter les lignes correspondantes
- deploy.sh
#!/bin/bash # https://chromatichq.com/blog/drupal-8-deployments-jenkins-github-slack echo "updating drupal 8" echo "Switching to project docroot." cd /var/www/project-name/public_html echo "" echo "Pulling down latest code." git pull --ff-only origin prod git submodule update --init --recursive echo "" echo "Clearing drush caches." drush cache-clear drush echo "" echo "Composer install." composer install --no-dev echo "" echo "Running database updates." drush updb -y echo "" echo "Importing configuration." drush config-import -y echo "" echo "Clearing caches." drush cr echo "" echo "Deployment complete."
En locale
ajouter le remote du serveur dans votre depos git existant
Il est possible de remplacer serveur.com par l'ip du serveur
git remote add project-name username@serveur.com:gitBareRepos/project-name.git
créer une branche prod
git branch prod
travailler sur la branch master (ou autre) et synchroniser la branch prod
git fetch . master:prod
pousser la prod en ligne
git push project-name prod
et voila !
developement/git_deployement.1559051753.txt.gz · Dernière modification : de bachir
