我使用部署程序部署laravel应用程序。除了作曲家,一切都很好。始终有消息
无需安装或更新
当我通过终端打开同一个文件夹时,作曲家会安装所有软件包。
我是否遗漏了deploy.php文件中的内容?
deploy.php
<?php
namespace Deployer;
require 'recipe/laravel.php';
require 'recipe/npm.php';
require 'vendor/deployer/recipes/recipe/cachetool.php';
// Project name
set('application', '******');
// Project repository
set('repository', '********');
// [Optional] Allocate tty for git clone. Default value is false.
set('git_tty', true);
// Shared files/dirs between deploys
add('shared_files', []);
add('shared_dirs', []);
// Writable dirs by web server
add('writable_dirs', []);
// Hosts
host('*********')
->user('******')
->port(******)
->identityFile('********')
->set('deploy_path', '/**********/{{application}}');
// Tasks
task('build', function () {
run('cd {{release_path}} && build');
});
task('npm:build', function () {
run('cd {{release_path}} && npm run production');
});
task('deploy:composer_install', function () {
run('cd {{release_path}} ');
run('composer install');
})->desc('running composer install');
// [Optional] if deploy fails automatically unlock.
after('deploy:failed', 'deploy:unlock');
// Migrate database before symlink new release.
before('deploy:symlink', 'cachetool:clear:opcache');
after('deploy:symlink', 'artisan:migrate');
after('deploy:symlink', 'deploy:composer_install');
after('deploy:composer_install', 'artisan:db:seed');
after('deploy:update_code', 'npm:install');
after('npm:install', 'npm:build');
Deployer的通知:
答案 0 :(得分:0)
尝试在一个命令中调用它,就像使用npm
一样,因此上下文具有正确的路径(您的应用程序):run('cd {{release_path}} && composer install');
否则composer install
将在初始(错误)路径上执行。
答案 1 :(得分:0)
我认为你必须检查你的composer.json
文件。
似乎您只更改composer.lock
并尝试更新远程代码而不更新composer update
(使用composer require
或API_UNAVAILABLE
)。