내 웹 사이트에 대해 Capistrano 배치를 설정하려고합니다. 모든 인증이 제대로 작동하지만, Media Temple을 사용하여 호스트하므로 아파치는 기본 symlink가 작동하지 않습니다. 최신 릴리스에 대해 지정된 경로에 대한 액세스 권한이 있어야합니다.Capistrano가 현재 symlink를 변경하는 작업을 생성 중임
현재의 심볼릭 링크를 해제하고 상대 경로로 다시 생성하는 작업을하려고합니다. 그러나 Capistrano 설명서가 심각하게 부족하고이 설정 방법에 대한 정보를 더 이상 찾을 수 없습니다.
sh를 사용해 보았습니다.하지만 서버가 아닌 내 컴퓨터에서 명령을 찾을 수 없습니다. 실행을 시도했지만 RM이나 ln과 같은 작업을 수행 할 수있는 올바른 형식을 찾을 수 없습니다. 시행 착오의 거대한 양의 후
namespace :deploy do
desc "Change HTML Symlink to relative path"
task :create_symlink do
#latest_release_relative = relative_path(deploy_to, release_path + '/html')
#sh "rm -f #{current_path} && ln -s #{latest_release_relative} #{current_path}"
#sh "echo #{File.basename release_path}"
info "echo Modifying symlink to be relative"
#run "rm -d #{current_path}"
#run "ln releases/#{File.basename release_path} #{current_path}"
#execute :rm, '-d', #{current_path}
end
desc "Create environment file"
task :create_env_conf
file 'env.conf' do |t|
sh "touch env.conf"
end
end
after :deploy, "deploy:create_symlink", "deploy:create_env_conf"
이 문제를 해결 한 코드를 게시 하시겠습니까? 나는 같은 문제가있다. – bigsweater
@bigsweater 나를 위해 일한 것을 추가했습니다 ... –
고마워요! 결국 애셋과 디렉토리가 모두 업데이트되도록 기본 symlink 함수를 재정의했습니다. 덮어 쓰기를 모듈화하기 위해 작업을 사용할 수도 있습니다 ... https://gist.github.com/bigsweater/9307075 – bigsweater