0

我想将使用Maven Jib 插件构建的 Docker 映像推送到 GitHub Packages。

我读到我可以GITHUB_TOKEN在 GitHub Packages 中使用密钥进行身份验证。

但是我在 Jib 文档中找不到使用令牌进行身份验证的方法。

我只看到一种使用用户名和密码的方法。

<settings>
  ...
  <servers>
    ...
    <server>
      <id>MY_REGISTRY</id>
      <username>MY_USERNAME</username>
      <password>{MY_SECRET}</password>
    </server>
  </servers>
</settings>

如何使用 Maven jib 插件使用令牌进行身份验证?

4

1 回答 1

1

l 免责声明:我以前从未听说过 GitHub Packages。

根据 GitHub Packages 网站上的示例,该示例显示了一些 Docker CLI 命令,包括docker login以下内容,

$ docker login docker.pkg.github.com --username phanatic
Logged in successfully

$ docker tag app docker.pkg.github.com/phanatic/repo/app:1.0

$ docker push docker.pkg.github.com/phanatic/repo/app:1.0.0

我认为MY_REGISTRY应该是docker.pkg.github.com并且MY_USERNAME应该是您的用户名(phanatic在上面的示例中)。此外,您的<to><image>(目标 Docker 映像名称)应以 开头docker.pkg.github.com/<your username >/...,如上所述。

GitHub Packages 文档(此处此处)似乎建议您可以GITHUB_TOKEN在 GitHub Actions 中用作密码。我强烈建议您对in的密码值 ( GITHUB_TOKEN) 进行加密。请参阅Maven 文档了解如何执行此操作。您将需要创建.<password>settings.xmlsettings-security.xml

在使用settings.xmland之前settings-security.xml,我将首先在本地测试用户名和与 and 的组合GITHUB_TOKEN(未加密),以检查这些值是否有效。<to><auth><username><to><auth><password>

于 2020-05-15T14:33:02.710 回答