使用CodeDeploy最佳实践Github到AWS EC2

时间:2016-02-26 09:27:18

标签: amazon-web-services github aws-code-deploy

我们是一个相对缺乏经验的开发团队,他们正在努力做正确的事情'。我们将Github与AWS和CodeDeploy一起用于多个基于PHP的Web应用程序。当主分支更新时,我们正在使用Github与CodeDeploy的自动部署。

我们在单独的AZ中有两个生产EC2 Web服务器以及一个EC2登台服务器。

目前的工作原理如下:

我们在分支中编写代码,我们推送到GitHub,我们合并到' master'然后启动CodeDeploy写入我们可以测试它的临时服务器。一旦我们测试了它,然后我们手动启动CodeDeploy以写入生产(具有相同的提交ID)。

问题是,如果测试带来了问题,并且我们有另一个分支等待合并和测试,那么一切都会得到备份吗?

我们显然做错了什么。我们正在写主分支以利用GitHub的自动部署,但我认为只有在准备好部署时才能写入master?

有人可以帮助我们并让我们直截了当吗?

由于

1 个答案:

答案 0 :(得分:2)

创建另一个名为“livecandidate”的分支,此分支将每个新功能分支合并到其中

每次将功能分支合并到“livecandidate”时,将“livecandidate”拉入代码部署流程并安装到测试计算机。

如果测试通过,则将'livecandidate'合并到'master'并启动安装到生产

如果测试未通过,则将合并解除为“livecandidate”(假设不依赖于变更链等)

执行生产安装或取消合并后,请尝试下一个功能

一般的想法是永远不会有一个破碎的主人

  

计算机科学中的所有问题都可以通过另一个间接层面来解决--David Wheeler