如何在Docker应用程序中使用带有composer的私有GitHub存储库

95 阅读1分钟

如果你在尝试用composer安装私有仓库时得到以下信息,并想避免手动操作,你可以使用这个例子:

Cloning failed using an ssh key for authentication, enter your GitHub credentials to access private repos
Head to https://github.com/settings/tokens/new?scopes=repo&description=Composer+on+clone-php+2019-05-31+2137
to retrieve a token. It will be stored in "/root/.composer/auth.json" for future use by Composer.
Token (hidden):

安装

如果你之前已经完成了其他项目的 "令牌 "和 "环境 "步骤,你可以省略这两个步骤。

composer.json

假设这是你的 composer.json 文件:

{
  "repositories": [
    {
      "type": "git",
      "url": "git@github.com:myprivate/repo.git",
      "no-api": true #This is not compulsory
    }
  ]
}

获取令牌

  1. 导航到 GitHub 的个人访问令牌页面。

  2. 点击 "Generate new token "按钮。

  3. 输入一些有意义的 "Note",选择 "repo "作为范围,点击 "Generate token "按钮。

  4. 记下该令牌。

环境准备

在本地电脑上运行以下命令:

export COMPOSER_AUTH='{"github-oauth":{"github.com":"AB8cd4cab23a9d5399934a7d7698d3fa74e9cfAB"}}'

docker-composer.yaml

在docker-compose.yaml文件中添加以下条目作为环境变量:

COMPOSER_AUTH: "${COMPOSER_AUTH}"

测试

如果你运行 composer instal/update/require 命令,应该不会被要求输入token。