3

我正在学习使用 Deployer 将我的 Laravel 应用程序部署到登台/生产环境。

下面的配置有效,但它总是部署相同的代码。是否可以将 staging 设置为仅部署develop分支,并将生产设置为部署master分支?

namespace Deployer;

require 'recipe/laravel.php';

set('application', 'my_app');
set('repository', 'git@github.com:account/repo-name.git');
set('php_fpm_version', '8.0');
set('git_tty', false);

add('shared_files', []);
add('shared_dirs', []);
add('writable_dirs', []);

host('staging')
    ->hostname('hostname-here')
    ->user('username')
    ->identityFile('~/.ssh/id_rsa')
    ->multiplexing(false)
    ->set('deploy_path', '~/staging');

host('production')
    ->hostname('hostname-here')
    ->user('username')
    ->identityFile('~/.ssh/id_rsa')
    ->multiplexing(false)
    ->set('deploy_path', '~/production');

task('build', function () {
    run('cd {{release_path}} && build');
});

after('deploy:failed', 'deploy:unlock');
before('deploy:symlink', 'artisan:migrate');
4

0 回答 0