Comment utiliser Deployer pour gérer et déployer du code dans des projets PHP

PHPz
Libérer: 2023-07-14 06:10:01
original
1624 Les gens l'ont consulté

Comment utiliser Deployer pour gérer et déployer du code dans des projets PHP

Dans le développement logiciel moderne, l'intégration continue et le déploiement automatisé sont devenus des liens essentiels. Deployer est un puissant outil de déploiement PHP qui nous aide à gérer et déployer notre code rapidement et facilement.

Cet article expliquera comment utiliser Deployer pour gérer et déployer du code dans des projets PHP, et joindra des exemples de code correspondants.

Tout d'abord, nous devons introduire Deployer dans le projet. Deployer peut être installé via composer :

composer require deployer/deployer --dev
Copier après la connexion

Une fois l'installation terminée, nous pouvons créer un fichier deploy.php dans le répertoire racine du projet pour écrire notre script de déploiement. deploy.php的文件,用于编写我们的部署脚本。

use DotenvDotenv;

require 'recipe/common.php';

// 读取环境配置文件
$dotenv = Dotenv::createImmutable(__DIR__);
$dotenv->load();

// 服务器连接设置
server('production', 'your_server_ip', 22)
    ->user('username')
    ->identityFile('~/.ssh/id_rsa')
    ->stage('production')
    ->env('deploy_path', '/var/www/html');

// 项目配置
set('repository', 'git@github.com:your_username/your_repository.git');
set('branch', 'master');
set('default_stage', 'production');
set('keep_releases', 5);

// 任务:更新代码
task('deploy:update_code', function () {
    run("git fetch origin {{branch}}");
    run("git reset --hard origin/{{branch}}");
})->desc('Update code');

// 后置钩子:安装依赖
after('deploy:update_code', 'composer:install');

// 任务:构建前端资源
task('deploy:build_assets', function () {
    run('cd {{release_path}} && yarn install');
    run('cd {{release_path}} && yarn build');
})->desc('Build assets');

// 部署流程
task('deploy', [
    'deploy:prepare',
    'deploy:lock',
    'deploy:release',
    'deploy:update_code',
    'deploy:shared',
    'deploy:vendors',
    'deploy:writable',
    'deploy:symlink',
    'deploy:unlock',
    'cleanup',
])->desc('Deploy your project');

// 配置选项
/*...*/

// 运行Deployer
namespaceDeployer::run();
Copier après la connexion

上述代码展示了一个简单的Deployer部署脚本的基本结构。其中,我们需要根据自己的实际情况配置服务器连接、项目仓库、任务等信息。

在上述代码中,我们使用了recipe/common.php,它是Deployer的默认配置文件,并定义了一些常用的任务。我们可以根据项目需要自定义任务和钩子,以满足特定的需求。

在上述示例中,我们定义了两个任务:

  1. deploy:update_code:用于更新代码,它通过Git命令从远程仓库拉取最新的代码。
  2. deploy:build_assets:用于构建前端资源,它通过运行yarn installyarn build命令来安装依赖和构建前端资源。

除了任务之外,我们还可以定义一些其他的钩子,如beforeafter等,来在任务执行前后执行一些额外的操作。在上述示例中,我们定义了一个后置钩子after('deploy:update_code', 'composer:install'),它会在更新代码之后自动运行composer install来安装项目的依赖。

在配置完成之后,我们可以通过以下命令来运行Deployer:

dep deploy production
Copier après la connexion

其中,productionrrreee

Le code ci-dessus montre la structure de base d'un simple script de déploiement Deployer. Parmi eux, nous devons configurer la connexion au serveur, l'entrepôt du projet, les tâches et d'autres informations en fonction de notre situation réelle.

Dans le code ci-dessus, nous utilisons recipe/common.php, qui est le fichier de configuration par défaut de Deployer et définit certaines tâches courantes. Nous pouvons personnaliser les tâches et les hooks en fonction des besoins du projet pour répondre à des besoins spécifiques.

Dans l'exemple ci-dessus, nous avons défini deux tâches : 🎜
  1. deploy:update_code : utilisée pour mettre à jour le code, qui extrait le dernier code du référentiel distant via les commandes Git.
  2. deploy:build_assets : utilisé pour créer des ressources frontales, qui installent les dépendances en exécutant yarn install et yarn build commandes et création de ressources frontales.
🎜En plus des tâches, nous pouvons également définir d'autres hooks, tels que avant, après, etc., pour effectuer certaines tâches avant et après l'exécution de la tâche Opérations supplémentaires. Dans l'exemple ci-dessus, nous avons défini un post hook after('deploy:update_code', 'composer:install'), qui exécutera automatiquement composer install après la mise à jour du code > Pour installer les dépendances du projet. 🎜🎜Une fois la configuration terminée, nous pouvons exécuter Deployer via la commande suivante : 🎜rrreee🎜Où, production est le nom de connexion au serveur que nous avons défini. Après l'exécution, Deployer exécutera automatiquement nos tâches et hooks prédéfinis pour terminer le déploiement du code. 🎜🎜Pour résumer, Deployer est un outil de déploiement PHP puissant et facile à utiliser qui peut nous aider à réaliser un déploiement rapide et une gestion automatisée du code. En utilisant Deployer, nous pouvons considérablement améliorer l'efficacité et la qualité du développement logiciel. 🎜🎜J'espère que cet article vous aidera à comprendre et à utiliser Deployer. J'espère également que vous pourrez profiter pleinement des avantages de Deployer et obtenir une meilleure expérience et de meilleurs résultats de développement. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!