Déployer
Deployer est un outil de déploiement gratuit et open-source écrit en PHP par Anton Medvedev. Il vous aide à déployer facilement votre application PHP sur un serveur. En automatisant les tâches de déploiement courantes telles que l’extraction de code...

Deployer est un outil de déploiement gratuit et open-source écrit en PHP par Anton Medvedev. Il vous aide à déployer facilement votre application PHP sur un serveur. En automatisant les tâches de déploiement courantes telles que l’extraction de code, l’exécution de migrations et l’effacement des caches, Deployer réduit le risque d’erreur humaine et garantit des déploiements cohérents et reproductibles dans tous les environnements.
Fonctionnalités
- Possibilité de configurer votre serveur, d’installer un pare-feu, d’installer PHP et MySQL ou Postgres, de configurer HTTPS, etc.
- Déploiements sans temps d’arrêt avec la possibilité de revenir à la version précédente.
- Des recettes prêtes à l’emploi pour la plupart des frameworks et applications (y compris une recette pour Laravel).
Installation
Installez Deployer à l’aide de Composer :
composer global require deployer/deployer
Une fois installé, accédez au répertoire de votre projet et exécutez :
dep init
Après avoir répondu à quelques questions, cela créera un fichier ou pour votre recette de déploiement. Ce fichier définit les hôtes, les tâches et les dépendances vis-à-vis d’autres recettes. deploy.php deploy.yaml
Les tâches sont définies à l’aide de la fonction. Vous pouvez également décrire une tâche à l’aide de la fonction. task desc
Il est recommandé d’utiliser une clé d’identité ou une clé privée lors de la connexion à un serveur. Vous pouvez l’ajouter à votre fichier. ~/.ssh/config
Ensuite, exécutez la commande suivante pour provisionner votre serveur :
dep provision
La commande provision vous demandera les versions de PHP, les préférences de base de données et d’autres exigences et installera tout ce qui est nécessaire pour exécuter votre application.
Enfin, vous pouvez déployer votre projet avec :
dep deploy
Une fois votre premier déploiement réussi, votre chemin de déploiement se présente comme suit :
~/www // deploy_path
|- current -> releases/1 // Symlink to current release
|- releases // Directory for all releases
|- 1 // Latest release
|- ...
|- .env -> shared/.env // Symlink to shared .env file
|- shared // Shared files between releases
|- ...
|- .env // Shared .env file
|- .dep // Deployer configuration files
De plus, vous devrez modifier la configuration de votre serveur Web pour servir votre application à partir de l’annuaire. Un exemple de configuration pour Nginx pourrait être le suivant : current
root /home/deployer/www/current/public;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
Exemple de fichier deploy.php
namespace Deployer;
host('my-server')
->set('hostname', 'my-server.org')
->set('deploy_path', '~/www');
->set('remote_user', 'deployer');
desc('Define my first task');
task('task_a', function () {
run('whoami');
});
desc('Run npm build process');
task('task_b', function () {
cd('{{release_path}}');
run('npm install');
run('npm run prod');
});
// Group tasks
desc('Deploys your project');
task('deploy', [
'task_a',
'task_b',
]);
Deployer peut également être configuré pour fonctionner avec GitHub Actions ou GitLab CI/CD.
Pour en savoir plus, consultez la documentation et le code source sur GitHub.

Besoin d'un développeur pour votre prochain projet ? Je suis disponible pour des missions freelance.
Me contacterArticles similaires
Related writings that dive deeper into design decisions, workflows, and creative problem-solving. Each article expands on ideas shared throughout this project.

