2009-12-22 5 views
3

새로운 배포를 위해 vlad를 사용하기 시작했는데 설정하는 가장 좋은 방법이 궁금해서 로컬 개발 및 원격 프로덕션 서버에 동일한 작업을 사용할 수 있습니까?배포자에게 사용 패턴 - 사용 패턴?

도메인 변수를 설정하는 dev/prod 메소드를 원격 작업으로 정의한 다음 rake dev/prod vlad:do_something을 호출 할 수 있다고 생각했지만 완전히 잘못되었다고 생각합니다.

내 작업 중 많은 부분이 내 로컬 서버와 프로덕션 서버에서 실행하는 데 유용하며 로컬 용으로 '작업'을, 원격 용으로 '원격 작업'을 하나씩 사용하여 반복하지 않도록하고 싶습니다. 예 :

def do_something 
    run "echo something" 
end 

task :do_something_dev 
    do_something 
end 

remote_task do_something_prod 
    do_something 
end 

로컬 또는 원격 컴퓨터에서 동일한 레이크 작업을 사용하는 데있어 누락 된 항목이 있습니까?

+1

이 태그가 마음에 듭니다. :) –

답변

5

이것에 대해 어떻게 :

[:development, :test, :production].each do |environment| 
    namespace environment do 
    task :do_something do 
     echo "do something on #{environment}" 
    end 
    end 
end 

이 당신을 줄 것이다 :

  • rake vlad:development:do_something
  • rake vlad:test:do_something
  • rake vlad:production:do_something

한 메타로 그것은 아마도 당신의 방식대로하는 것이 덜 장황하다. 그러나 2 ~ 3 가지 방법을 사용하는 즉시 오버 헤드가 무시 될 수 있습니다.

관련 문제