6

Tôi có hai config-fileNơi nào bạn đặt app-config-file của bạn khi triển khai đường ray với capistrano và svn

/app/config/database.yml 

/app/config/userconfig.yml 

tôi không muốn đặt cơ sở dữ liệu thông tin đăng nhập và userconfig trong kho lưu trữ svn, vì vậy tôi có database.yml.dist và userconfig.yml.dist đã đăng ký.

Cách tốt nhất để lấy bản sao của tệp dist trong thư mục được chia sẻ khi triển khai là gì ứng dụng fo r lần đầu tiên?

Đối sau triển khai tôi sẽ liên kết với họ từ/app/hiện tại/config

Trả lời

10

Bạn nên đặt tập tin cấu hình của bạn trong

/path/to/deployed_app/shared 

Sau đó, trong một nhiệm vụ capistrano, liên kết sym cho những tập tin:

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" 
1

Trong Capistrano v3, bạn có thể sử dụng tác vụ được gọi là deploy:symlink:shared.

Cung cấp danh sách các tệp bạn đã đặt trong thư mục dùng chung, vì vậy Capistrano biết tệp nào sẽ liên kết tượng trưng khi tác vụ được chạy. Điều này thường được thực hiện trong deploy.rb:

set :linked_files, %w{ 
    app/config/database.yml 
    app/config/userconfig.yml 
} 

liên quan: Capistrano - How to put files in the shared folder?

+0

Capistrano không cung cấp một cách để tải lên những tập tin này từ cây địa phương của bạn, mặc dù bạn sẽ phải làm điều này bằng tay (thông qua SSH thường) hoặc sử dụng tác vụ tùy chỉnh như được giải thích tại đây: http://stackoverflow.com/a/23520809/814224 – xuuso