Déployer son site avec makefile

#1and1, #ionos
Makefile vous permet de déployer votre site rapidement.
Nous allons l’utiliser dans cet exemple avec un serveur de chez ionos (=1and1).

Utiliser makefile et WordPress :

Nous allons voir quelques exemples de commande que vous pourriez utiliser dans un fichier makefile (dev, import, deploy, …).

Pour voir l’ensemble du fichier makefile pour WordPress et/ou Symfony, je vous laisse consulter la source présente sur GitHub.

Commande « dev » :

php -S localhost:8000 -d display_errors=1

Commande « import » :

Cette commande vous permettra d’importer les fichiers distants sur votre version local.
Et ainsi pouvoir commencer à travailler.

rsync -av $(ssh):$(path) ./ \
		--exclude wp-config.php

Commande « deploy » :

Une fois votre travail terminé en local, vous allez souhaiter pouvoir publier votre code sur le serveur distant. La commande « deploy » ainsi créée vous permettra cela.

rsync -av ./ $(ssh):$(path) \
		--exclude Makefile \
		--exclude .git \
		--exclude .idea \
		--exclude wp-config.php \
		--exclude /wp-admin \
		--exclude /wp-includes \
		--exclude /wp-content/uploads

Commande « dbdeploy » :

La commande « dbdeploy » va récupérer un backup SQL,
puis le synchroniser (via rsync) avec le serveur distant,
puis l’importer sur la db distante,
et supprimer le fichier SQL.

php wp-cli.phar db export --add-drop-table dump.sql
rsync -av ./dump.sql $(ssh):$(path)
ssh $(ssh) "cd $(path); /usr/bin/php7.1-cli wp-cli.phar db import dump.sql; /usr/bin/php7.1-cli wp-cli.phar search-replace '$(domainlocal)' '$(domaindist)'; rm dump.sql"
rm dump.sql

Commande « dbimport » :

La commande « dbimport » va faire un backup SQL,
puis le synchroniser (via rsync) avec le serveur local,
puis supprimer le dump SQL du serveur distant,
puis réaliser l’import SQL en local,
puis remplacer le domaine de destination (présent dans la db juste importé) par le domaine local,
et pour finir supprimer le backup SQL local.

ssh $(ssh) "cd $(path); /usr/bin/php7.1-cli wp-cli.phar db export --add-drop-table dump.sql"
rsync -av $(ssh):$(path)dump.sql ./
ssh $(ssh) "rm $(path)dump.sql"
php wp-cli.phar db import dump.sql
php wp-cli.phar search-replace '$(domaindist)' '$(domainlocal)'
rm dump.sql

Commande « update » :

La commande « update » vous permettra de mettre à jour le core et les plugins du WordPress.

php wp-cli.phar core update
php wp-cli.phar plugin update --all

Utiliser makefile et Symfony :

Sur le même repository se trouve un exemple de makefile pour WordPress, et un autre pour Symfony. Toujours avec l’hébergeur ionos (=1and1).
En savoir +

Source :

Michael

Développeur / intégrateur, travaillant en agence web depuis 2005, je viens à présent vous proposer de venir découvrir mes créations personnelles de plugins / themes pour le CMS Wordpress & Prestashop, quelques solutions en mode SAAS & un peu d'actualité web ( / Twitter).

Vous aimerez aussi...