如何让Dependabot在Magento注册表完成身份验证?
问题描述
已在GitHub仓库配置Dependabot,但无法通过repo.magento.com的身份验证,日志持续返回401错误,提示未提供Magento认证密钥,且已反复确认用户名和密码正确。
配置文件(.github/dependabot.yml)
version: 2 registries: adobe: type: composer-repository url: repo.magento.com username: XXXXXXXXXXXXXXX password: ${{secrets.DEPENDABOT_COMPOSER_PASSWORD}} github: type: composer-repository url: github.com username: XXXXXXXXXXXXXXX password: ${{secrets.DEPENDABOT_GITHUB_PASSWORD}} updates: - package-ecosystem: "composer" # See documentation for possible values directory: "/magento/site" # Location of package manifests registries: - adobe - github schedule: interval: "weekly" target-branch: "develop" open-pull-requests-limit: 0
错误日志
proxy | 2024/02/14 10:53:18 [067] GET https://repo.magento.com:443/packages.json proxy | 2024/02/14 10:53:18 [067] 401 https://repo.magento.com:443/packages.json proxy | 2024/02/14 10:53:18 [067] Remote response: {"warning":"You haven't provided your Magento authentication keys. For instructions, visit https://devdocs.magento.com/guides/v2.3/install-gde/prereq/connect-auth.html"} updater | 2024/02/14 10:53:19 INFO <job_786964504> Handled error whilst updating composer/composer: private_source_authentication_failure {:source=>"repo.magento.com"} updater | 2024/02/14 10:53:19 INFO <job_786964504> Finished job processing updater | 2024/02/14 10:53:19 INFO Results: updater | Dependabot encountered '1' error(s) during execution, please check the logs for more details. updater | +-----------------------------------------------------------+ updater | | Dependencies failed to update | updater | +-------------------+---------------------------------------+ updater | | composer/composer | private_source_authentication_failure | updater | +-------------------+---------------------------------------
解决步骤
- 修正仓库URL格式:将
adoberegistry中的url改为https://repo.magento.com,缺少https前缀会导致Dependabot无法正确构建认证请求。 - 验证Secrets配置:
- 进入仓库Settings > Secrets and variables > Actions,确认
DEPENDABOT_COMPOSER_PASSWORD已正确设置,值为Magento账号生成的访问令牌(Password字段),而非账号登录密码。 - 确保Secrets名称和yml中的引用完全一致,大小写敏感。
- 进入仓库Settings > Secrets and variables > Actions,确认
- 本地测试密钥有效性:执行
curl -u <你的Magento用户名>:<你的访问令牌> https://repo.magento.com/packages.json,若返回正常JSON内容,说明密钥有效;若仍401,检查账号是否有权限访问对应Magento版本的资源。 - 检查Dependabot权限:在仓库Settings > Code and automation > Dependabot中,确认Dependabot拥有读取和写入权限,权限不足可能导致密钥无法正确传递。
- 匹配项目Composer配置:确认
/magento/site下的composer.json已正确添加repo.magento.com仓库配置,Dependabot需要与项目中的仓库定义匹配才能启用认证。
内容的提问来源于stack exchange,提问作者Florian Lemaitre
相关产品推荐
相关产品推荐

