Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Penggunaan kumpulan aplikasi PHP yang cekap: menggunakan Deployer

Penggunaan kumpulan aplikasi PHP yang cekap: menggunakan Deployer

WBOY
WBOYasal
2023-07-12 08:36:061256semak imbas

Penempatan kelompok aplikasi PHP yang cekap: Gunakan Deployer

Pengenalan:
Dengan peningkatan pengkomputeran awan, kontena dan seni bina perkhidmatan mikro, penggunaan aplikasi moden menjadi semakin kompleks dan menyusahkan. Terutamanya dalam situasi di mana pasukan pembangunan perlu menggunakan berbilang aplikasi PHP dengan kerap, menggunakan setiap aplikasi secara manual adalah sangat memakan masa dan terdedah kepada ralat. Untuk menyelesaikan masalah ini, kita boleh menggunakan alat Deployer untuk mengautomasikan dan memudahkan proses penggunaan aplikasi PHP. Dalam artikel ini, kami akan memperkenalkan konsep asas dan penggunaan Deployer, dan melampirkan contoh kod tertentu.

Pengenalan Deployer:
Deployer ialah alat penggunaan projek sumber terbuka yang ditulis dalam PHP. Ia boleh membantu kami mengautomasikan proses penggunaan aplikasi, termasuk penarikan kod, konfigurasi persekitaran, penghijrahan pangkalan data, pemasangan kebergantungan, dsb. Deployer menyambung ke pelayan jauh melalui protokol SSH dan melaksanakan satu siri tugasan yang telah ditetapkan untuk menyelesaikan penggunaan aplikasi.

Proses penyebaran:
Proses asas menggunakan Deployer untuk menggunakan aplikasi PHP adalah seperti berikut:

  1. Pasang Deployer dalam persekitaran setempat
    Laksanakan arahan berikut dalam baris arahan untuk memasang Deployer menggunakan Composer:
    composer require deployer/deployer --dev
    fail konfigurasi deploy.php
  1. Buat fail yang dipanggil deploy.php dalam direktori akar projek dan tambah kandungan berikut:
  2. <?php
    require 'recipe/common.php';
    
    // 项目名称
    set('application', 'My App');
    
    // 项目代码库地址
    set('repository', 'git@github.com:user/my-app.git');
    
    // 服务器用户名
    set('user', 'user');
    
    // 服务器IP地址
    server('production', 'production-server.com', 22)
        ->user(get('user'))
        ->forwardAgent();
    
    // 服务器代码存放路径
    set('deploy_path', '/var/www/html/my-app');
    
    // 部署任务
    task('deploy', function () {
        // 拉取代码库
        run('git clone {{repository}} {{release_path}}');
    
        // 安装项目依赖
        run('cd {{release_path}} && composer install');
    
        // 配置环境
        run('cp {{release_path}}/.env.example {{release_path}}/.env');
    
        // 迁移数据库
        run('cd {{release_path}} && php artisan migrate');
    
        // 重启服务
        run('sudo service php-fpm restart');
    });
    
    // 设置远程服务器
    host('production');
    
    // 配置服务器连接选项
    set('ssh_type', 'native');
    set('ssh_multiplexing', true);
    
    // 指定默认任务
    after('deploy', 'success');
    Konfigurasikan pilihan sambungan pelayan
  1. Dalam fail konfigurasi deploy.php, kami telah menggunakan yang berikut pilihan untuk mengkonfigurasi sambungan pelayan:
    ssh_type: Kaedah sambungan SSH, lalai adalah asli, anda juga boleh menggunakan kaedah lain seperti phpseclib.
  • ssh_type: SSH连接方式,默认为native,也可以使用phpseclib等其他方式。
  • ssh_multiplexingssh_multiplexing: Sama ada untuk mendayakan pemultipleksan sambungan SSH, lalainya adalah benar. . fail .
Ringkasan:
    Dengan menggunakan Deployer, kami boleh mencapai penggunaan kumpulan aplikasi PHP dengan mudah. Deployer menyediakan kaedah konfigurasi yang ringkas dan jelas serta keupayaan definisi tugas penyebaran yang berkuasa, membolehkan kami mengautomasikan dan memudahkan proses penempatan. Menggunakan Deployer, pasukan pembangunan boleh dengan cepat dan cekap menggunakan aplikasi ke berbilang pelayan, meningkatkan kecekapan pembangunan dan mengurangkan kemungkinan ralat.

  1. Contoh kod boleh didapati dalam dokumentasi rasmi pengerahan, alamat khusus ialah: https://deployer.org/

Atas ialah kandungan terperinci Penggunaan kumpulan aplikasi PHP yang cekap: menggunakan Deployer. 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