我正在尝试从Github操作将静态内容部署到AWS S3。我创建了AWS id和秘密环境变量
并将其作为main.yml
name: S3CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-west-2
- name: Build static site
- run: yarn install && npm run-script build
- name: Deploy static site to S3 bucket
run: aws s3 sync ./dist/ s3://awss3-blog --delete
但是Github动作失败并出现错误
无效的工作流程文件
详细信息 每个步骤都必须定义用途或运行键
答案 0 :(得分:1)
通常,根据我的实际经验,GitHub清楚地显示了YAML的无效部分。就我而言,几乎总是抱怨制表符而不是空格,是的,我对此非常生气!!
在您的情况下,正如已经提到过的@ smac89一样,它是从- run
开始的行,由于该破折号错误地没有与先前的- name
关联,所以- name
变成了也是孤儿。
关于部署到S3的要点:我热烈建议(就像我已经做过somewhere else一样)仅使用CLI且无需任何其他操作/插件。
它很简单:
- name: Deploy static site to S3 bucket
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
run: aws s3 sync ./dist/ s3://awss3-blog --delete
如您所见,从机密角度来看,这是完全相同的工作,但是更简单,独立,更清洁等。顺便说一句,不需要区域,可以安全地将其省略。
答案 1 :(得分:0)
这与以下行有关:
- run: yarn install && npm run-script build
但这是专门针对此步骤的投诉:
- name: Build static site
如果您希望以上步骤使用该运行命令,请删除-
前面的run