【问题标题】:How to deploy an AWS Amplify app from GitHub Actions?如何从 GitHub Actions 部署 AWS Amplify 应用程序?
【发布时间】:2020-11-30 21:37:56
【问题描述】:

我想从 GitHub Actions 控制 Amplify 部署,因为 Amplify 自动构建

  • 不提供 GitHub 环境
  • 不监视 CI 的故障,并且无论如何都会部署,或者
  • 要求我复制 CI 设置并在 Amplify 中重新运行它
  • 不支持开箱即用地运行 cypress 作业

【问题讨论】:

    标签: amazon-web-services deployment aws-amplify github-actions


    【解决方案1】:
    • 关闭自动构建(在App settings / General / Branches 中)。
    • 添加以下脚本和作业

    scripts/amplify-deploy.sh

    echo "Deploy app $1 branch $2"
    JOB_ID=$(aws amplify start-job --app-id $1 --branch-name $2 --job-type RELEASE | jq -r '.jobSummary.jobId')
    echo "Release started"
    echo "Job ID is $JOB_ID"
    
    while [[ "$(aws amplify get-job --app-id $1 --branch-name $2 --job-id $JOB_ID | jq -r '.job.summary.status')" =~ ^(PENDING|RUNNING)$ ]]; do sleep 1; done
    JOB_STATUS="$(aws amplify get-job --app-id $1 --branch-name $2 --job-id $JOB_ID | jq -r '.job.summary.status')"
    echo "Job finished"
    echo "Job status is $JOB_STATUS"
    
      deploy:
        runs-on: ubuntu-latest
        env:
          AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
          AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
          AWS_DEFAULT_REGION: us-east-1
          AWS_DEFAULT_OUTPUT: json
        steps:
        - uses: actions/checkout@v2
        - name: Deploy
          run: ./scripts/amplify-deploy.sh xxxxxxxxxxxxx master
    

    如果发布失败,您可以改进脚本以使其失败,添加所需的步骤(例如 lint、测试)、添加 GitHub 环境等。

    还有amplify-cli-action,但它对我不起作用。

    【讨论】:

      猜你喜欢
      • 2020-10-29
      • 2021-12-07
      • 2023-02-08
      • 2020-04-17
      • 1970-01-01
      • 2021-02-17
      • 1970-01-01
      • 2021-11-07
      相关资源
      最近更新 更多