加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – Bundler用geminabox释放耙子?

发布时间:2020-12-17 02:20:23 所属栏目:百科 来源:网络整理
导读:有没有办法配置捆绑器,以便当我做rake发布时,它会将gem提交给我自己的gem服务器(一个 gem in a box实例)而不是rubygems? 理想情况下,这种配置可以从我的git存储库中省略. 解决方法 Rubygems实际上是硬编码到捆绑器中,我发现只有一种方法. 以下monkeypatch应
有没有办法配置捆绑器,以便当我做rake发布时,它会将gem提交给我自己的gem服务器(一个 gem in a box实例)而不是rubygems?

理想情况下,这种配置可以从我的git存储库中省略.

解决方法

Rubygems实际上是硬编码到捆绑器中,我发现只有一种方法.

以下monkeypatch应该得到你想要的:

module Bundler
  class GemHelper
    protected
    def rubygem_push(path)
      if Pathname.new("~/.gem/nexus").expand_path.exist?
        sh("gem nexus '#{path}'")
        Bundler.ui.confirm "Pushed #{name} #{version} to https://<your-url-here>/."
      else
        raise "Your Nexus credentials aren't set. Run `gem nexus #{path}` to push your gem and set credentials."
      end
    end
  end
end

以上是针对Nexus而不是Geminabox,但这个概念应该适用于任何一个.

至于从git中省略它,我担心我们运气不好.但是,您可以在项目之间进行适当的共享,因此只需将其签入一个地方而不是多个地方.希望这可以帮助!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读