2011-05-12 2 views
1

내 응용 프로그램은 서버를 구성하는 Moonshine으로 설정 한 다음 Capistrano를 사용하여 배포합니다. 그러나 소스 제어가 아닌 일부 파일과 디렉토리는 새 배포가 수행 될 때 삭제되면 안되며 개발 시스템에서 제거되어서는 안됩니다.Symlink 단일 파일 moonshine 및/또는 Capistrano를 통해 프로덕션 서버에

Moonshine의 config/moonshine.yml 파일에는 : app_symlinks 영역이 있습니다. 여기서 생산에 대한 공유 폴더에 대한 심볼릭 링크가 만들어집니다. 이것은 공용 폴더 (예 : '시스템') 내부의 특정 디렉토리에 대해 완벽하게 작동하지만 개별 파일에서도 동일한 작업을 수행해야합니다. 예를 들어 프로덕션 환경의 데이터베이스를 기반으로 자동 생성되는 sitemap.xml 파일입니다. 또는 .htaccess 파일.

개별 파일을 app_symlinks 아래에 넣으려고했으나 작동하지 않았습니다. Moonshine에서 개별 파일을 심볼릭 링크하는 방법이 있습니까? 또는 카피스트라노에서이 작업을 수행하는 방법입니다 (어쨌든 무언 신이 배포 용도로 사용하는 것과 같습니다).

desc "Link the file" 
task :link_file do 
    run "ln -nfs #{deploy_to}/shared/files/myfile #{release_path}/myfile" 
end 

을 다음에이 작업을 추가합니다 :

답변

2

당신은 당신의 deploy.rb에서 다음을 수행 할 수 있습니다 번만 수동으로 /shared/files 디렉토리를 만들어야 물론 after "deploy", :link_file

.

+0

"release_path"에 추가 경로 폴더를 추가해야했지만 위의 내용은 내 프로젝트의 루트에 심볼릭 링크를 만들었지 만 그 다음에는 완벽하게 작동했습니다. 감사. – Shannon

관련 문제