如何解决如何从GitHub Actions部署AWS Amplify应用程序?
我想通过GitHub Actions控制Amplify部署,因为Amplify自动构建
- 不提供GitHub环境
- 不会监视配置项是否失败,并且仍会进行部署,或者
- 需要我复制CI设置并在Amplify中重新运行
- 不支持开箱即用地运行
cypress
作业
解决方法
- 关闭自动构建功能(在
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,test),添加GitHub Environment等。
也有amplify-cli-action
,但对我来说不起作用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。