2012-05-07 28 views
6

Tôi đang cố gắng sử dụng capistrano để tạo ra gemset rvm của mình.làm cách nào để tạo rvm tạo gemset tại triển khai capistrano?

Tôi sử dụng đá quý rvm-capistrano.

Thậm chí tôi một cách rõ ràng cố gắng tạo ra nó ở thiết lập, lệnh capistrano vỏ trông như thế này:

rvm_path=$HOME/.rvm/ $HOME/.rvm/bin/rvm-shell '[email protected]' -c 'rvm use [email protected] --create' 

mà rõ ràng là thất bại với thông báo lỗi:

Gemset 'vatax' does not exist, 'rvm gemset create vatax' first, or append '--create' 

Trong thực tế tôi mong đợi các đá quý để có thể tạo gemset cho tôi, nhưng nếu không ít nhất tôi muốn sử dụng một shell không phải rvm để tạo gemset trong capistrano.

Trả lời

5

này chưa được hỗ trợ trong đá quý, có một vé để hỗ trợ thêm cho nó - https://github.com/wayneeseguin/rvm-capistrano/issues/8

Đối với bây giờ bạn có thể sử dụng một nhiệm vụ cài đặt ruby, nó cũng sẽ chăm sóc để tạo gemset, khi ruby ​​là đã được cài đặt nó sẽ chỉ tạo ra gemset:

before 'deploy', 'rvm:install_ruby' 

biết thêm thông tin bạn có thể tìm thấy trong các tài liệu RVM: https://rvm.io/integration/capistrano/

+1

tôi cũng đã có dòng này trong rb triển khai của mình nhưng nó không tạo ra gemset khi sử dụng deploy: cold. Nếu tôi nói trước khi 'triển khai: cập nhật', nó hoạt động cho cả triển khai: lạnh và triển khai. –

0

Tôi thường tạo ra một gemset cho mỗi ứng dụng tôi triển khai, vì vậy tôi cần phải tạo nhiều gemsets. Đây là cách tôi làm điều đó:

set :application, 'my-application-name' 
set :user, 'my-username' 
run "~#{user}/.rvm/bin/rvm gemset create #{application}" 
Các vấn đề liên quan