尝试使用 Capistrano 3 部署项目并遇到问题。在我的一项任务中,我试图更改目录,然后运行 composer install。
对于我的一生,我无法将其cd
放入正确的文件夹中。
现在如果我这样做
set :theme_path, "#{release_path}/web/app/themes/sage"
append :linked_dirs, "web/app/uploads"
append :linked_files, ".env"
set :keep_releases, 3
namespace :deploy do
desc "Build"
after :updated, :build do
on roles(:app) do
within release_path do
execute :composer, "install --no-dev --quiet"
execute :cd, "#{fetch(:theme_path)}; composer install --no-dev --quiet"
end
end
end
end
出于某种原因,它在以前的版本中运行。做 apwd
而不是composer install
显示它在 /current/ 内,而不是在新的 /release/ 目录中。所以它在当前运行我的作曲家安装,然后进行所有的符号链接,所以我最终在之前的部署中总是运行作曲家,所以我当前的部署永远不会工作。
因此,如果release_path
是 /current/ 而不是当前正在部署的版本...我如何获得该路径?或者我应该如何composer install
在两个地方跑步?