使用Dockerfile克隆私有git gem repo的最佳方法

时间:2017-03-13 06:26:01

标签: ruby-on-rails git docker

这是我的Dockerfile:

   # Dockerfile

   FROM rails:onbuild

docker-compose.yml是这样的:

db:
  image: postgres
web:
  build: .
  volumes:
    - .:/usr/src/app
  ports:
    - "3001:3001"
  links:
    - db

所以当我运行docker-compose run web rake db:create db:migrate时,它无法克隆私有git存储库。所以我的问题是使用Dockerfile克隆私有git repo的最佳方法是什么。谢谢!

1 个答案:

答案 0 :(得分:1)

我不知道如何使用Doockerflie配置或在其中添加命令来获取私有gem。

也许我们必须使用Personal Access Token授予访问权限。以下是步骤:

  • 为您的私人宝石生成Personal Access Token
  • 使用此git

    模式定义gem的url位置

    gem 'your_private_gem', git: "https://your_token:x-oauth-basic@github.com/org/your_private_gem.git"

  • 为了使其更安全,您可以使用一些.env文件(gem'dotenv')以这种方式定义此令牌:

    gem 'your_private_gem', git: "https://#{ENV[GITHUB_TOKEN]}:x-oauth-basic@github.com/org/your_private_gem.git"

希望它会有所帮助。或者我正在寻找新的更安全的方式,所以请关注这个问题。干杯!