You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用GitHub Action部署Beanstalk应用失败:AWS密钥未指定

解决Elastic Beanstalk部署报错"AWS Access Key not specified!"的方法

针对你遇到的问题,以下是几个可行的排查和解决步骤:

1. 修正参数命名格式

einaregilsson/beanstalk-deploy的凭证输入参数使用下划线命名而非连字符,将部署步骤里的参数名替换为下划线格式:

- name: Deploy to Elastic Beanstalk
  uses: einaregilsson/beanstalk-deploy@v21
  id: deploy
  with:
    aws_access_key_id: ${{ steps.creds.outputs.aws-access-key-id }}
    aws_secret_access_key: ${{ steps.creds.outputs.aws-secret-access-key }}
    aws_session_token: ${{ steps.creds.outputs.aws-session-token }}
    application_name: Site
    environment_name: Site-Prod-env
    version_label: ${{ steps.readversion.outputs.content }}
    region: ${{ vars.AWS_REGION }}
    deployment_package: site-*.jar

2. 验证凭证变量是否有效传递

在部署步骤前添加调试步骤,确认凭证变量存在且非空:

- name: Debug AWS Credentials
  run: |
    echo "环境变量AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID"
    echo "creds输出aws-access-key-id: ${{ steps.creds.outputs.aws-access-key-id }}"
    echo "环境变量AWS_SESSION_TOKEN: $AWS_SESSION_TOKEN"

如果输出为空,说明configure-aws-credentials的凭证生成或传递有问题,需要检查角色配置和OIDC信任关系。

3. 让Action自动读取环境变量

aws-actions/configure-aws-credentials已经自动设置了AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY、AWS_SESSION_TOKEN三个环境变量,beanstalk-deploy会自动读取这些默认环境变量,无需手动传递参数。简化部署步骤:

- name: Deploy to Elastic Beanstalk
  uses: einaregilsson/beanstalk-deploy@v21
  id: deploy
  with:
    application_name: Site
    environment_name: Site-Prod-env
    version_label: ${{ steps.readversion.outputs.content }}
    region: ${{ vars.AWS_REGION }}
    deployment_package: site-*.jar

4. 检查Action版本兼容性

尝试将einaregilsson/beanstalk-deploy升级到最新版本,或回退到v20等稳定版本,排查版本间的凭证读取逻辑差异。

内容的提问来源于stack exchange,提问作者Christian Demers

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 05:53:16