Travis CI部署至AWS ElasticBeanstalk失败:缺失access_key_id
Travis CI部署AWS ElasticBeanstalk报错missing access_key_id的解决办法
问题现状
尝试通过Travis CI将Docker应用部署至AWS ElasticBeanstalk时,部署失败,Travis输出报错:
Installing deploy dependencies Preparing deploy No stash entries found. missing access_key_id failed to deploy
提供的.travis.yml配置如下:
sudo: required language: generic services: - docker before_install: - docker build -t muhammadhussain/docker-react -f dockerfile.dev . script: - docker run -e CI=true muhammadhussain/docker-react npm run test deploy: provider: elasticbeanstalk region: "us-east-1" app: "docker-react" env: "Dockerreact-env" bucket_name: "elasticbeanstalk-us-east-1-976709496734" bucket_path: "docker-react" on: branch: master access_key_id: "$AWS_ACCESS_KEY" secrect_access_key: "$AWS_SECRET_KEY"
错误原因
- 缩进错误:
access_key_id和secrect_access_key被错误嵌套在on块下,Travis无法识别这些密钥配置。它们应该直接放在deploy层级下,和region、app等配置同级。 - 拼写错误:
secrect_access_key拼写错误,正确的键名是secret_access_key。
修正后的配置
sudo: required language: generic services: - docker before_install: - docker build -t muhammadhussain/docker-react -f dockerfile.dev . script: - docker run -e CI=true muhammadhussain/docker-react npm run test deploy: provider: elasticbeanstalk region: "us-east-1" app: "docker-react" env: "Dockerreact-env" bucket_name: "elasticbeanstalk-us-east-1-976709496734" bucket_path: "docker-react" access_key_id: "$AWS_ACCESS_KEY" secret_access_key: "$AWS_SECRET_KEY" on: branch: master
额外验证步骤
- 确认在Travis CI的项目设置中,已正确添加
AWS_ACCESS_KEY和AWS_SECRET_KEY两个环境变量,且变量值为AWS IAM用户的有效密钥(该用户需具备ElasticBeanstalk部署权限)。 - 重新提交代码触发Travis构建,检查部署流程是否正常执行。
内容的提问来源于stack exchange,提问作者Muhammad Hussain
相关产品推荐
相关产品推荐

