Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengintegrasikan dan mengkonfigurasi Deployer dalam projek PHP

Bagaimana untuk mengintegrasikan dan mengkonfigurasi Deployer dalam projek PHP

PHPz
PHPzasal
2023-07-12 12:53:211115semak imbas

Cara untuk menyepadukan dan mengkonfigurasi Deployer dalam projek PHP

Ikhtisar:
Dalam proses penggunaan projek PHP, adalah sangat perlu untuk menggunakan alatan automatik. Deployer ialah alat penggunaan berasaskan PHP yang boleh membantu kami mencapai penggunaan projek automatik. Artikel ini akan memperkenalkan cara untuk menyepadukan dan mengkonfigurasi Deployer dalam projek PHP, serta beberapa konfigurasi biasa dan kod sampel.

1. Pasang Deployer:
Pertama, kita perlu memasang Deployer dalam projek. Memasang menggunakan Composer adalah cara yang paling mudah. Buka terminal, tukar ke direktori akar projek, dan laksanakan arahan berikut:

composer require deployer/deployer --dev

Ini akan memasang Deployer dalam projek dan menambahkannya pada kebergantungan pembangunan.

2. Konfigurasikan Deployer:
Buat fail deploy.php dalam direktori akar projek. Ini akan menjadi fail konfigurasi Deployer. Dalam fail deploy.php, kita perlu mengkonfigurasi beberapa maklumat asas, seperti hos pelayan sasaran, nama pengguna, kata laluan, dsb.

<?php
require 'recipe/common.php';

// 项目名称
set('application', 'your_project_name');

// 需要发布的代码库地址(可以是 Git、SVN 等)
set('repository', 'git@github.com:your_username/your_project.git');

// 部署的目标服务器
server('production', 'your_server_hostname')
    ->user('your_server_username')
    ->password('your_server_password')
    ->set('deploy_path', '~/your_deploy_path');

// 可选:生成版本号(根据 Git 提交信息生成)
set('keep_releases', 5);
set('release_name', function () {
    return date('YmdHis') . '_' . strtolower(deployer_run('git log -n 1 --format="%h"'))->toString();
});

// 自定义任务:重启服务
task('service:restart', function () {
    run('sudo service your_service_name restart');
});

// 在部署成功后执行自定义任务
after('success', 'service:restart');

Kod sampel di atas menunjukkan konfigurasi Deployer yang paling asas, anda perlu mengubah suai mengikut situasi sebenar anda. Antaranya, nama_projek anda ialah nama projek, nama_pengguna_anda ialah nama pengguna pangkalan kod, projek_anda ialah nama pangkalan kod , nama_hos_pelayan_anda kod> ialah nama hos pelayan sasaran, nama_pengguna_pelayan_anda ialah nama pengguna pelayan sasaran, kata laluan_pelayan_anda ialah kata laluan pelayan sasaran, your_deploy_path ialah lokasi projek pada sasaran Laluan penempatan pada pelayan, your_service_name ialah nama perkhidmatan yang perlu dimulakan semula. . (ini untuk memulakan semula perkhidmatan). your_project_name 是项目的名称,your_username 是代码库的用户名,your_project 是代码库的名称,your_server_hostname 是目标服务器的主机名,your_server_username 是目标服务器的用户名,your_server_password 是目标服务器的密码,your_deploy_path 是项目在目标服务器上的部署路径,your_service_name 是需要重启的服务名称。

三、使用 Deployer 完成部署:
配置完成后,使用以下命令可以执行部署:

vendor/bin/dep deploy production

部署成功后,你的代码将会被推送到目标服务器上的指定路径,并执行自定义任务(此处为重启服务)。

四、更多配置与自定义任务:
Deployer 支持更多的配置和自定义任务,以满足不同项目的需求。下面是一些常用的配置和自定义任务示例:

  1. 设置可写目录:
    有些目录可能需要在每次部署时被写入,你可以使用 set
  2. 4. Lebih banyak konfigurasi dan tugasan tersuai:
Pengguna menyokong lebih banyak konfigurasi dan tugasan tersuai untuk memenuhi keperluan projek yang berbeza. Berikut ialah beberapa contoh tugas konfigurasi dan penyesuaian biasa:
    1. Tetapkan direktori boleh tulis:

      Sesetengah direktori mungkin perlu ditulis pada setiap penempatan, anda boleh menggunakan fungsi set untuk mentakrifkan direktori ini:

    2. set('writable_dirs', ['var/logs', 'var/cache']);

    Tugas tersuai: kosongkan cache dan mulakan semula perkhidmatan:

    task('cache:clear', function () {
     run('cd {{release_path}} && php bin/console cache:clear');
    });
    
    task('service:restart', function () {
     run('sudo service your_service_name restart');
    });
    
    // 在部署完成后依次执行清理缓存和重启服务
    after('deploy:locked', 'cache:clear');
    after('success', 'service:restart');

    🎜Kod sampel di atas menunjukkan cara menyesuaikan tugas untuk membersihkan cache dan memulakan semula perkhidmatan. Dengan mengkonfigurasi tugas tersuai, anda boleh melakukan beberapa tindakan tambahan selepas penempatan selesai. 🎜🎜Kesimpulan: 🎜Dalam projek PHP, Deployer ialah alat penggunaan automatik yang sangat berguna. Dengan konfigurasi mudah dan tugas penyesuaian, anda boleh mengautomasikan penggunaan projek anda dengan mudah. Saya harap artikel ini dapat membantu anda, dan selamat mengekod! 🎜

Atas ialah kandungan terperinci Bagaimana untuk mengintegrasikan dan mengkonfigurasi Deployer dalam projek PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn