2010-08-02 2 views
4

카스티 스트라노 작업을 통해 여러 단계의 레일스 프로젝트 배포를 통합했습니다. 예를 들어capistrano 작업 내에서 다단계 카피스트라노 작업 호출

:

task :consolidated_task do 
    build #creates a new release branch from master, 
      #sets a variable with the relese branch name 

    staging 
    deploy.migrations 

    production 
    deploy.migrations 
end 

이 다른 캡 작업에서 다단계 작업을 호출 할 적절한 방법이 있나요?

빌드 작업은 새로운 자식 분기를 만들고 게시합니다. 새 지점의 이름이 카피 스트라 노 변수로 저장됩니다. 스테이징 및 프로덕션 스테이지 작업은이 변수를 사용하여 배포 할 브랜치를 지정합니다. 나는 자식 저장소와 서로 통신 할 수 없습니다 배포 기계로 내 로컬 컴퓨터에서 소스를 추진하고있어

fatal: working tree '/Users/<my working directory>' already exists. 
/usr/local/lib/ruby/gems/1.8/gems/capistrano-2.5.19/lib/capistrano/recipes/deploy/strategy/copy.rb:99:in `initialize': No such file or directory - /var/folders/3d/3dKYNUwQGOSLZFXsMF-uv++++TM/-Tmp-/20100802182750/REVISION (Errno::ENOENT) 

:이 작업을 실행하면 함께

, 그것은 실패합니다. 경로가 상대하기 때문에

deploy:production:whatever 

같은

+0

지금은 100 %입니다. 파워 유저 여야합니다! – manlycode

답변

7

작업 이름은

deploy.production.whatever 

또한 네임 스페이스의 상단에 갈 top 네임 스페이스를 가지고 캡 내에 노출되어있다.

그래서, 당신의 작업을 네임 스페이스하는 상관없이 현재 당신은 항상 같은 thigs을 수행 할 수 있습니다 :

top.deploy.production.whatever 
관련 문제