Nhóm của chúng tôi có nhiều người, bất kỳ số nào trong số đó có thể hoạt động trên bất kỳ tổ hợp đá quý nào. Hiện nay, Gemfile của chúng tôi có những thứ như thế này:Gemfile: Cách tốt hơn để khai báo có điều kiện đá quý cục bộ hoặc từ xa cho nhiều nhà phát triển
gem 'awesome-gem', :git => '[email protected]:somebody/awesome-gem.git'
# gem 'awesome-gem', :path => '/Users/developer-A/workspace/awesome-gem'
# gem 'rad-gem', :git => '[email protected]:somebody/rad-gem.git', :branch => 'release'
gem 'rad-gem', :path => '/some/path/specific-to/developer-B/rad-gem'
Vì vậy, phát triển-A đã làm việc trên tuyệt vời-đá quý tại địa phương, và khi họ đã hoàn thành lập, họ chỉ thay thế của họ: con đường của đá quý: vị trí git và cam kết cả phiên bản điều khiển. nhà phát triển-B và C làm điều tương tự cho rad-gem, mỗi cái có một đường dẫn khác nhau trong Gemfile được sửa đổi cục bộ của họ và nếu Gemfile đều có thay đổi thực, họ phải hoàn tác thiết lập đường dẫn cục bộ, commit, undo để trỏ ngược lại lên phiên bản địa phương của họ về rad-đá quý, vv
Đây là cả một nỗi đau và xấu xí, vì vậy tôi đã cố gắng để tìm ra một giải pháp tốt hơn nhưng tốt nhất tôi có thể đưa ra là một cái gì đó như thế này:
if ENV['RADGEM_PATH']
gem 'rad-gem', :path => ENV['RADGEM_PATH']
else
gem 'rad-gem', :git => '[email protected]:somebody/rad-gem.git', :branch => 'release'
end
Điều này cho phép nhà phát triển-B và C thiết lập đường dẫn rad-gem của riêng họ trong khi loại bỏ phần lớn nỗi đau được đề cập ở trên. Tuy nhiên, nó vẫn còn xấu xí và tôi tự hỏi nếu có một cách tốt hơn để làm điều này, có thể sử dụng các nhóm?
URL cho tài liệu giờ đây là http://gembundler.com/v1.2/man/bundle-config.1.html#LOCAL-GIT-REPOS – cbliard
Bây giờ, tại đây: http://bundler.io/v1 .2/man/bundle-config.1.html # LOCAL-GIT-REPOS – sekrett