【发布时间】:2014-05-12 14:19:21
【问题描述】:
我正在寻找在云环境中进行持续部署的解决方案,更具体地说,是在 Amazon AWS 环境中。
要部署的代码主要是微软的 ASP 和 PHP,所以这个框架应该可以在这两个平台上运行。因为我有一个自动缩放环境,所以如果它像 Puppet 一样拉取新代码,这个框架就会工作。
我的第一个想法是直接从 VCS 进行部署,但我遇到了一个问题,即所有存储库信息都镜像到服务器,例如 GIT 可以正常工作。这是一个问题,因为存储库不断增长,服务器将需要越来越多的空间。
我找到了 Ansible,它按我需要的方式工作,但不适用于 Windows 环境。它只向服务器发送生产代码,而不是 VCS 存储库,并跟踪更新了哪些服务器。
如果不使用像这样易于设置的框架,我将需要创建一个 Puppet + Jenkins + VCS 框架,其中 Jenkins 从 VCS 源代码创建包,然后 Puppet 交付它。
有没有人知道任何小框架可以满足我的需求,或者 Puppet + Jenkins + VCS 是要走的路?
【问题讨论】:
-
您尝试过 Elastic Beanstalk 吗?每当您推送到您的 GIT 时,aws.push 仅推送最新更改并仅保留您服务器上的代码,而不是存储库(例如 .git 目录)docs.aws.amazon.com/elasticbeanstalk/latest/dg/…我使用 Jenkins,现在使用 Bamboo 来轮询特定分支更改并自动执行此操作推送到 Elastic Beanstalk 环境。
-
@RakeshBollampally 我们已经在一些系统中使用了 Elastic Beanstalk,这是真的,持续部署在其中可以完美运行。但是,我有一些更复杂的环境,我们决定不使用 Beanstalk,因此我正在为这些环境寻找持续部署框架。
-
git clone --bare 会做一些你想做的事。您还会发现这是一个commonly solved problem,所以没有理由从头开始发明一些东西。
标签: amazon-web-services windows-server continuous-deployment