Geçerli sürümün dizini içinde 'besteci yüklemesini' yürütmeyi içeren Capistrano 3 için bir görev yazmaya çalışıyorum. Bu komut aslında Mevcut yayın dizinde çalışmaz Nedense benim özel durumda php /home/user/composer.phar
Capistrano 3 bir dizinin içinde yürütme
için, bunun yerine -
namespace :composer do
desc 'Install dependencies with Composer'
task :install do
on roles(:web) do
within release_path do
execute "#{fetch(:composer_command)} install"
end
end
end
end
composer_command
evreleme ve üretim dosyalarında ayarlanır: Bu şuna benzer
ben biraz daha ileri bu kazarak, bulunan (cari, paylaşılan, bültenleri, vb içerir) üst dizinde çalışır ben gibi tek kelime komutu, çalıştırdığımızda:
within release_path do
execute "pwd"
end
Sadece iyi çalışıyor ve geçerli sürüm dizinindeki komutu çalıştırıyor.
within release_path do
execute "pwd && ls"
end
O within
bloğu tarafından belirlenen dizin üst dizinde çalışır ve değil: Ama ... ben gibi, boşluk içeren bir komut çalıştırdığınızda.
Birisi buna ışık tutabilir mi? Teşekkürler!
Bir sorunla karşılaştım - https://github.com/capistrano/capistrano/issues/719 Bu, SSHKit ile bir kısıtlama olduğunu ortaya koyuyor. Böylece çözümünüzle gideceğim - eski capistrano 2 yolu, olduğu gibi. –
Bu bir hata değil. SSHKit böyle çalışır. Diğer cevapları gör. – gagarine
Kayalar, teşekkürler! –