如何在CI服务器上提取私有宝石?
我有使用来自私有GitHub存储库的gem的rails项目,但我无法在构建服务器上克隆它。
到目前为止,我发现https://github.com/blog/1270-easier-builds-and-deployments-using-git-over-https-and-oauth只有在我为Gemfile
生成令牌时才能完美。
gem 'my_private_gem', git: 'https://MISSING_TOKEN:x-oauth-basic@github.com/USER_NAME/REPOSITORY', require: 'my_private_gem', branch: 'master'
那么如何为此生成令牌呢?当我创建GitHub应用程序时,我只会获得client_id
和client_secret
。
答案 0 :(得分:3)
好的,最后我得到了解决方案。
Account Settings
Applications
,然后选择Generate new token
gem 'your_gem', git: "https://#{ENV['AUTH_TOKEN']}:x-oauth-basic@github.com/YourAccount/YourRepo", require: 'your_gem', branch: 'master'
这就是全部!
答案 1 :(得分:0)
这可能不是您的选择,但是如果您将机器的ssh密钥注册到您的Github帐户,则可以在gemfile中执行以下操作:
gem :your_gem, github: "your_username/your_repository"