ruby-on-rails - 使用本地 :path before deploy 检查 gem

标签 ruby-on-rails ruby bundler

对于某些 Rails 应用程序,我希望在部署时有一个安全防护措施来检查我是否将一些 gem 配置为在本地路径中查找。

一点上下文可能有助于理解。

当我处于开发模式时,我想要一个处于“本地模式”的 gem。在我的 Gemfile 中,它是这样配置的:gem 'my_gem', '~> 0.9', :path => './path/to/my_gem'.

在生产中,我想要这样:gem 'my_gem', '~> 0.9', :git => 'git@git.example.com:my_gem.git'.

我尝试制作一个 shell 脚本(或函数)来读取 Gemfile.lock 并在 gem 处于“本地模式”时以错误退出。

如果我忘记切换回正确的模式,我的部署脚本可能会使用它来中止。

任何帮助将不胜感激。 谢谢

最佳答案

使用

group :development do
  gem 'my_gem_for_development', '~> 0.9', :require => './path/to/my_gem/lib/my_gem.rb' , :path => './path/to/my_gem/lib'
end
group :production do
  gem 'my_gem', '~> 0.9', :git => 'git@git.example.com:my_gem.git'
end

关于ruby-on-rails - 使用本地 :path before deploy 检查 gem ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5935156/

相关文章:

ruby-on-rails - 我应该在 Rails 中将文件存储在哪里?

ruby - Rack URL 映射

ruby-on-rails - ruby - bundle 安装/更新太慢

css - Rails 简单表单 CSS

javascript - 禁用 JavaScript 的 RoR

python - ruby 是否有类似于 buildout 或 virtualenv 的东西?

ruby-on-rails - Rails 4 + react rails gem : Could not find generator 'react:install'

ruby-on-rails - Bundler 找不到 gem "bundler": 的兼容版本

java - 玩!框架与 Ruby on Rails

ruby-on-rails - Rails Migration 更改列以使用 Postgres 数组