我想将使用Maven Jib plugin构建的Docker映像推送到GitHub软件包。
我读到可以在GitHub软件包中使用GITHUB_TOKEN
密码进行身份验证。
但是我在Jib文档中找不到一种使用令牌进行身份验证的方法。
我只看到一种使用用户名和密码的方法。
<settings>
...
<servers>
...
<server>
<id>MY_REGISTRY</id>
<username>MY_USERNAME</username>
<password>{MY_SECRET}</password>
</server>
</servers>
</settings>
如何使用Maven三角臂插件通过令牌进行身份验证?
答案 0 :(得分:1)
lDisclaimer:我以前从未听说过GitHub软件包。
根据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文档(here和here)似乎建议您可以在GitHub Actions中使用GITHUB_TOKEN
作为密码。我强烈建议您为GITHUB_TOKEN
中的<password>
加密密码值(settings.xml
)。有关如何操作,请参见Maven doc。您将需要创建settings-security.xml
。
在使用settings.xml
和settings-security.xml
之前,我将首先在本地测试用户名和GITHUB_TOKEN
与<to><auth><username>
和<to><auth><password>
的组合(未加密),目的是:检查这些值是否有效。