2014-07-27 24 views
5

böylece benim, err, faydasızlığını affet, Capistrano'nun (v 3.2.1) ile mutlak bir çaylak değilim. Ben bir PHP uygulaması konuşlandırıyorum ve dağıtmadan önce composer yüklemesini çalıştırmak istiyorum: symlink: görev bırakın (yalnızca bir geri alma çalıştırmıyorken)Running görev paylaşılan capistrano 3

Olması gereken yeni oluşturulan sürüm dizinine erişme konusunda sorun yaşıyorum CD'ye yazabilir ve besteci çalıştırabilir (ve diğer birkaç öğeyi de çalıştırabilirsiniz). Şu anda var;

namespace :deploy do 

    namespace :symlink do 

     desc 'Run composer' 
     task :runcomposer do 
      on roles :all do 

       execute "cd '#{current_release}' && composer install" 
       execute "cd '#{current_release}' && ln -s /sites/shared/index.php index.php" 
      end 
     end 

     before :release, :runcomposer 

    end 

end 

{current_release} değişkeni git çekme) uygun zaman damgasıyla (kesinlikle/bültenleri/dizin içinde yaratılmış olan çalıştırılır dizin olarak garip olan (bu noktada var olmaya görünmüyor ama 'tanımsız yerel değişken veya yöntem 'current_release''

'geçerli' sembolik bağı ona işaret edilmeden önce bu yeni sürüm dizini belirleyebilir bir yolu var mı olsun? şimdiden çok teşekkür ederiz.

cevap

0

Bunu soruma yorum olarak bıraktım, ancak şu anda bulabileceğim tek cevap bu yüzden Cevap;

Tamam, bu yüzden bunu yapmak için olası bir yol belirledik, ama çok korkunç görünüyor. Hatta benim gibi mutlak bir acemi:

newreleasedir = capture('ls -t /sites/releases | head -1') 

sonra

execute "cd /sites/releases/#{newreleasedir} && composer install" 

Birisi bu çok korkunç ve söyle lütfen onu nasıl yapıyor olmalı :)

2

kullanın composer extension

# Capfile 
require 'capistrano/composer' 

Varsayılan olarak, iki görev planlanmış olacak

before 'deploy:updated', 'composer:install' 
before 'deploy:reverted', 'composer:install' 

resmi doc sayfasından Devamı varsayılan görevler

Rake::Task['deploy:reverted'].prerequisites.delete('composer:install') 

birini kaldırılıyor.

İlgili konular