我们使用AWS Elastic Beanstalk和eb cli进行部署。
我们偶然发现的一个问题是无法重写提交。
在运行git commit --amend
后尝试使用eb deploy
进行部署时,我们会得到以下错误:
ERROR:InvalidParameterValueError-"请求CodeCommit时出错:无法检索0fb2ddf61003f05e67aeabe。。。(服务:AWSCodeCommit;状态代码:400;错误代码:CommitIdDoesNotExistException;请求ID:bee56acc-201b-4a3f-…-…(">
我们如何克服这一点并在运行git commit --amend
后进行部署?
解决方案:
eb codesource local
,以禁用CodeCommit集成。
显然,CodeCommit是奇怪的部分集成。它正在执行某种跟踪,因此出现了错误,但当运行eb use --source codecommit/myrepo/mybranch
时,它失败了:
错误:NotFoundError-找不到CodeCommit分支:
欢迎任何能对这个主题有更多了解的人。
阅读"配置附加的分支和环境";,考虑到任何修改都会改写历史(至少更改HEAD提交(,您可能会拒绝:
- 力推
- 重新指定用于eb环境的分支源
即:
git push --force
eb use --source my-app/myBranch <eb-environment>
OP Gapi报告实际上必须取消激活代码提交:
eb codesource local
在您的终端中使用
eb codesource local
eb create <env name>