使用AWS Code Commit和Git将多个分支部署到单独的AWS Elastic Beanstalk应用程序

时间:2017-03-13 19:23:44

标签: git amazon-web-services version-control elastic-beanstalk aws-codecommit

我在本地设置了一个repo来跟踪AWS Code Commit上的远程仓库。这个回购有两个永久的分支:'主'和'发展'。我正在尝试将每个分支部署到单独的Elastic Beanstalk应用程序,其中一个用于生产,另一个用于测试。

对于每个分支,我使用EB CLI工具创建一个跟踪代码提交中相应远程分支的应用程序实例。我使用(master)执行此操作的第一个分支始终有效,但是一旦我添加了一个跟踪'development'分支的应用程序,我似乎创建了一个名为'codecommit-origin'的重复远程,我无权编辑。例如:

codecommit-origin   https://git-codecommit.us-region-1.amazonaws.com/v1/repos/some_repo (fetch)
codecommit-origin   https://git-codecommit.us-region-1.amazonaws.com/v1/repos/some_repo (push)
origin  ssh://git-codecommit.us-region-1.amazonaws.com/v1/repos/some_repo (fetch)
origin  ssh://git-codecommit.us-region-1.amazonaws.com/v1/repos/some_repo (push)

我无权访问“codecommit-origin”遥控器,删除它会删除我部署应用程序的能力,抛出此错误:

ERROR: AttributeError :: 'NoneType' object has no attribute 'split'

由于显而易见的原因,这使得为我的应用程序部署更新非常痛苦。我基本上必须使用“git remote add origin [url]”重置我的遥控器,推送我的提交,再次运行“eb init”,部署,然后删除每次我想要更改某些内容时创建的“codecommit-origin”。 / p>

有没有更好的方法来管理在单个代码提交存储库中从两个分支部署两个弹性beanstalk应用程序的工作流程?

1 个答案:

答案 0 :(得分:0)

要使master分支部署beanstalk应用程序,您可以使用eb inited createeb deply的方式。

要添加开发分支和环境,您需要使用以下步骤:

git checkout development
# commit some changes
eb create
eb use --source

更多细节,您可以参考config additional branches and environments