Capistrano 및 SVN으로 레일을 배포 할 때 앱-콘피드 파일을 어디에 두십니까?
-
22-08-2019 - |
문제
두 개의 구성 파일이 있습니다
/app/config/database.yml
그리고
/app/config/userconfig.yml
데이터베이스 자격 증명과 userconfig를 SVN-Repository에 넣고 싶지 않으므로 Database.yml.dist 및 userconfig.yml.dist가 체크인했습니다.
처음으로 앱을 배포 할 때 공유 디렉토리에서 Dist Files 사본을 얻는 가장 좋은 방법은 무엇입니까?
나중에 배포하려면/app/current/config에서 링크합니다.
해결책
구성 파일을 넣어야합니다
/path/to/deployed_app/shared
그런 다음 Capistrano 작업에서 해당 파일에 대한 Sym 링크 :
namespace :deploy do
task :symlink_shared do
run "ln -s #{shared_path}/database.yml #{release_path}/config/"
end
end
before "deploy:restart", "deploy:symlink_shared"
다른 팁
Capistrano v3에서는 deploy:symlink:shared
.
공유 디렉토리에 배치 한 파일 목록을 제공하므로 Capistrano는 작업이 실행될 때 Symlink의 파일을 알고 있습니다. 이것은 일반적으로 이루어집니다 deploy.rb
:
set :linked_files, %w{
app/config/database.yml
app/config/userconfig.yml
}
제휴하지 않습니다 StackOverflow