GitHub Actions报错:无法解析my_repo/s3-sync-action@v0.5.1,仓库未找到
修复GitHub Actions中"Unable to resolve action
my_repo/s3-sync-action@v0.5.1, repository not found"错误 以下是几个针对性的修复步骤:
修正仓库路径格式
你使用的my_repo/s3-sync-action路径不符合GitHub Actions自定义action的引用规则,正确格式应为[GitHub用户名/组织名]/[仓库名]@[版本标签/分支]:- 若该action是你个人账号下的仓库,替换为
你的GitHub用户名/s3-sync-action@v0.5.1 - 若属于某个组织,替换为
组织名称/s3-sync-action@v0.5.1
- 若该action是你个人账号下的仓库,替换为
验证仓库的存在性与访问权限
- 先前往GitHub确认
my_repo/s3-sync-action仓库确实存在,检查是否有拼写错误 - 若为私有仓库,需确保当前运行流水线的仓库拥有该action仓库的访问权限:
- 在action仓库的「Settings」→「Actions」→「Access permissions」中添加当前仓库的访问权限
- 或者在流水线中先拉取该私有仓库,再用相对路径引用(例如先执行
actions/checkout拉取到本地,再写uses: ./s3-sync-action)
- 先前往GitHub确认
确认版本标签/分支有效
检查v0.5.1这个标签或分支是否存在于目标仓库中,可前往仓库的「Releases」或「Branches」页面核实,版本号拼写错误也会触发该报错。若使用第三方公开action
如果你是想使用社区公开的S3同步action,可能路径写错了。比如常见的S3同步action有jakejarvis/s3-sync-action@v0.5.1,请确认目标action的官方仓库路径。
修改后的示例代码片段
假设你的GitHub用户名为your-username,修正后的S3 Deployment步骤如下:
- name: S3 Deployment uses: your-username/s3-sync-action@v0.5.1 with: args: --acl public-read --follow-symlinks --delete env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID_DEV}} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY_DEV }} AWS_S3_BUCKET: ${{ secrets.BUCKET_NAME_DEV }} DISTRIBUTION: ${{ secrets.CDN_DISTRIBUTN_ID_DEV }}
内容的提问来源于stack exchange,提问作者user18148705
相关产品推荐
相关产品推荐

