Github Actions与AWS S3的CI/CD流水线部署失败排查求助
解决Github Actions工作流无效问题:部署至AWS S3失败
错误原因分析与修复方案
1. 「Line: 10, Col: 5: Unexpected value 'runs on'」错误
这是YAML语法不符合Github Actions规范导致的:
- Github Actions中指定运行环境的字段为
runs-on(连字符连接,无空格),你当前写的runs on(带空格)是非法字段,必须修正为runs-on: ubuntu-latest。
2. 「Line: 1, Col: 1: Unexpected value 'Name'」错误
你提供的YAML代码开头是on:,但错误提示第一行存在非法的Name值,说明实际工作流文件存在以下问题之一:
- 文件开头误写了
Name字段(正确写法为小写name,且冒号后必须加空格,如name: Deploy to S3); - 文件开头存在多余的特殊字符、空白行或编码异常,导致解析器识别错误。
修正后的完整工作流脚本
name: Deploy to AWS S3 on: push: branches: - main jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@master - uses: hohel/git-s3-push@master with: args: --acl public-read --follow-symlinks --delete env: AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }} AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} AWS_REGION: 'us-east-1' # optional: defaults to us-east-1 SOURCE_DIR: 'website' # optional: defaults to entire repository
额外排查步骤
- 检查工作流文件开头,确保无多余字符或拼写错误的字段,
name字段(若使用)严格遵循name: [工作流名称]格式; - 验证Github仓库的
Settings -> Secrets and variables -> Actions中,已正确配置AWS_S3_BUCKET、AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY三个密钥; - 确保YAML文件的缩进规范(使用2个空格缩进,禁止用Tab),避免因缩进错误导致的解析失败。
内容的提问来源于stack exchange,提问作者hohel
相关产品推荐
相关产品推荐

