是否可以从存储在Github软件包中的Docker映像创建github动作?
action.yml
:
runs:
using: 'docker'
image: 'docker://docker.pkg.github.com/<you>/<your-repo>/<image>:<version>'
目前似乎无法提供docker基本身份验证凭据。
错误消息:
Pull down action image '[...] '
/usr/bin/docker pull [...]
Error response from daemon: Get https://[...]: no basic auth credentials
##[warning]Docker pull failed with exit code 1, back off 9.515 seconds before retry.
/usr/bin/docker pull [...]
Error response from daemon: Get [...]: no basic auth credentials
##[warning]Docker pull failed with exit code 1, back off 2.011 seconds before retry.
/usr/bin/docker pull [...]
Error response from daemon: Get [...]: no basic auth credentials
##[error]Docker pull failed with exit code 1
答案 0 :(得分:1)
很抱歉延迟!
我已经获得了GitHub的支持,显然我要在这里做的还是不可能的,但很快就会实现。我加入了Github开发者支持小组的回复:
感谢您回信澄清!对于工作流文件中的image属性,无法以与缓存容器映像或Docker Hub上托管的映像相同的方式指定GitHub Packages中托管的Docker映像。在给出此示例工作流程文件片段的情况下,无法在工作流程文件中指定授权凭证
那是因为当前需要从GitHub Packages安装软件包时需要身份验证。无论是从您的CI还是您的本地计算机,从Github软件包中获取艺术品时,都需要进行身份验证。公共存储库仍然如此。
最后
作为一种解决方法,您可以使用GitHub Actions将您的程序包发布到Docker Hub和GitHub程序包。如果要在GitHub Actions工作流中使用该程序包(例如用于服务)或在容器中运行工作流,则可以引用其Docker Hub URL。
例如,我已将这些建议应用于GitHub Action schema-validation