Penyerahan PHP yang elegan: Gunakan Deployer untuk meningkatkan kecekapan pembangunan
Dalam pembangunan web, penempatan ialah pautan yang sangat penting. Kaedah penggunaan tradisional biasanya melibatkan operasi yang membosankan seperti menyalin fail secara manual dan melaksanakan arahan, yang bukan sahaja terdedah kepada ralat tetapi juga tidak cekap. Kini, dengan bantuan alatan penggunaan automatik, kami boleh menyelesaikan kerja penempatan dan meningkatkan kecekapan pembangunan dengan mudah.
Artikel ini akan memperkenalkan alat pengerahan PHP yang elegan - Penyebar dan menunjukkan cara menggunakan alat ini untuk penggunaan automatik melalui contoh kod.
1. Pengenalan kepada Deployer
Deployer ialah alat penggunaan automatik sumber terbuka yang dibangunkan berdasarkan PHP Matlamat reka bentuknya mudah digunakan dan sangat berskala. Menggunakan Deployer, kami boleh menggunakan projek dengan menulis fail konfigurasi ringkas tanpa melaksanakan arahan penggunaan yang menyusahkan secara manual.
2. Pasang Deployer
Untuk menggunakan Deployer, anda perlu memasang PHP dan Komposer secara tempatan. Selepas pemasangan selesai, kita boleh memasang Deployer melalui Composer.
Buka alat baris arahan dan masukkan arahan berikut untuk memasang Deployer secara global:
composer global require deployer/deployer
Selepas pemasangan selesai, kita boleh menggunakan Deployer melalui perintah dep
. dep
命令来使用Deployer了。
三、使用Deployer进行部署
下面,我们将通过一个示例项目来演示如何使用Deployer进行自动化部署。
首先,我们需要在项目根目录下创建一个deploy.php
配置文件,此文件将包含我们的部署脚本。
<?php require 'recipe/common.php'; // 项目名称 set('application', 'myproject'); // 项目远程仓库 set('repository', 'git@github.com:user/repo.git'); // 部署到的服务器 server('production', 'mydomain.com', 22) ->user('username') ->password('password') ->set('deploy_path', '/var/www/html/{{application}}'); // 执行部署 task('deploy', function () { // 增量更新代码 run('cd {{release_path}} && git reset --hard HEAD && git pull origin master'); // 安装依赖 run('cd {{release_path}} && composer install'); // 更新数据库 run('cd {{release_path}} && php artisan migrate'); // 配置文件处理 run('cd {{release_path}} && cp .env.production .env && php artisan config:cache'); // 重启服务 run('sudo service nginx restart'); }); // 将以上步骤绑定到部署命令 after('deploy', 'cleanup');
在以上配置文件中,我们首先使用require
函数引入了Deployer的基础配置文件。
然后,我们通过set
函数来设置一些项目相关的配置,例如项目名称、远程仓库地址等。
之后,我们使用server
函数来创建一个部署服务器,并设置服务器相关的配置,如服务器地址、用户名、密码等。
最后,我们使用task
函数来定义一个部署任务,并在任务中编写部署脚本。在这个示例中,我们首先执行了增量更新代码的操作,然后安装项目依赖、更新数据库、处理配置文件等。
最后,我们使用after
函数将以上操作绑定到部署命令中,这样当我们执行dep deploy
deploy.php
dalam direktori akar projek Fail ini akan mengandungi skrip penggunaan kami. dep deploy
require
. Kemudian, kami menggunakan fungsi set
untuk menetapkan beberapa konfigurasi berkaitan projek, seperti nama projek, alamat gudang jauh, dsb. Selepas itu, kami menggunakan fungsi server
untuk mencipta pelayan penempatan dan menetapkan konfigurasi berkaitan pelayan, seperti alamat pelayan, nama pengguna, kata laluan, dsb. Akhir sekali, kami menggunakan fungsi task
untuk mentakrifkan tugas penempatan dan menulis skrip penggunaan dalam tugasan. Dalam contoh ini, kami mula-mula melakukan kemas kini tambahan kod, kemudian memasang kebergantungan projek, mengemas kini pangkalan data, fail konfigurasi yang diproses, dsb. Akhir sekali, kami menggunakan fungsi after
untuk mengikat operasi di atas kepada arahan deployment, supaya apabila kami melaksanakan perintah dep deploy
, langkah di atas akan dilaksanakan dalam urutan. 4. Laksanakan penggunaan🎜🎜Selepas konfigurasi selesai, kita boleh beralih ke direktori akar projek dalam alat baris arahan, dan kemudian laksanakan arahan berikut untuk digunakan: 🎜rrreee🎜Semasa proses penempatan, Deployer akan menyambung secara automatik ke alat kawalan jauh yang kami konfigurasikan pelayan dan melaksanakan tugas penempatan yang kami tetapkan. 🎜🎜Apabila penyebaran selesai, kita dapat melihat projek yang berjaya digunakan pada pelayan jauh. 🎜🎜Ringkasan🎜🎜Melalui contoh di atas, kita dapat melihat bahawa menggunakan Deployer untuk penempatan automatik adalah sangat mudah, dan anda hanya perlu menulis fail konfigurasi yang ringkas. Ini sangat meningkatkan kecekapan pembangunan dan mengurangkan risiko ralat yang disebabkan oleh operasi penggunaan manual. 🎜🎜Sudah tentu, Deployer juga menyediakan lebih banyak fungsi dan kebolehskalaan, seperti menyokong penggunaan serentak berbilang pelayan, fungsi cangkuk sebelum dan selepas penggunaan, dsb. Jika anda mempunyai keperluan penggunaan yang lebih kompleks, anda boleh menyemak dokumentasi Deployer rasmi untuk mendapatkan maklumat lanjut. 🎜🎜Saya harap artikel ini dapat membantu anda dan menjadikan anda lebih elegan dan cekap dalam penggunaan projek PHP! 🎜Atas ialah kandungan terperinci Penggunaan PHP yang elegan: Gunakan Deployer untuk meningkatkan kecekapan pembangunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!