带有 SVN 应用程序的 Amazon EC2 多个实例

发布于 2024-10-17 03:05:26 字数 122 浏览 1 评论 0原文

嘿呀, 快问。 我在 EC2 上有多个实例,它们之间有一个负载均衡器。我使用一个 SVN 应用程序来推送到我的实时环境。随意。

对于多个 EC2,我如何将代码库一次性推送到所有 EC2? 任何想法/链接将不胜感激。

Heya,
Quick question.
I've got multiple instances on EC2 with a load balancer between them. I use an SVN app that used to push to my live env. at will.

With the multiple EC2's, how would I push a codebase to all of them at once?
Any thoughts/links would be appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

魂牵梦绕锁你心扉 2024-10-24 03:05:26

有几种不同的方法可以做到这一点。

如果您使用弹性负载均衡器

编写一个脚本:

  1. 从池中删除一台计算机
  2. 更新 SVN 存储库
  3. 将计算机重新添加到池中
  4. 对任何其他计算机重复

您也可以删除一台计算机如果您担心一致性,请更新它,删除所有其他机器并更新它们。

如果您使用自定义负载平衡应用程序

请查看 Capistrano 。您不需要将它与 Ruby/Rake 一起使用——您可以编写可以执行并行部署的自定义 cap 文件。

There are a few different ways to do this.

If You Are Using Elastic Load Balancers

Write a script that:

  1. Removes a machine from the pool
  2. Updates the SVN repository
  3. Re-adds the machine to the pool
  4. Repeats for any additional machines

You could also get fancy and remove one machine, update it, remove all other machines and update them, if you're concerned about consistency.

If You Are Using a Custom Load Balancing Application

Look into Capistrano. You don't need to use it with Ruby/Rake -- you can write custom cap files that can do parallel deploys.

野生奥特曼 2024-10-24 03:05:26

代码部署用vlad或者fabric怎么样。

How about vlad or fabric for code deployment.

九命猫 2024-10-24 03:05:26

我们使用标量。它可以作为服务 (Scalr.net) 提供,或者您可以自己运行它(它是开源的 - 尽管 googlecode 存储库中的源代码有时比服务使用的版本稍晚一些)。

基本上,Scalr 具有全局脚本功能,您可以指定一个脚本(例如 bash、PHP、任何带有 #!bang 的脚本)并触发它在给定“角色”的所有实例(例如 Web 实例)上运行。在我们的例子中,我们有一个脚本,它只根据需要执行 svn checkout 或 svn update 。 Scalr 支持定期调度脚本,因此在开发环境中我每 5 分钟运行一次,以保持开发与 SVN 同步,但显然我手动触发它进行生产。
(我的脚本采用一个参数来指定要使用的 SVN 分支)

We use Scalr. It is available as a service (Scalr.net) or you can run it yourself (it is Open Source - though the source in the googlecode repository is sometimes a little behind the version the service uses).

Basically, Scalr has a global scripting feature whereby you can specify a script (e.g. bash, PHP, anything with #!bang) and trigger it to be run on all instances of a given 'role' (e.g. web instance). In our case we have a script that just does svn checkout or svn update as appropriate. Scalr supports periodic scheduling of scripts, so in the dev environment I run it every 5 mins to keep dev in synch with SVN, but obviously I manually trigger it for production.
(I have the script taking a param to specify the SVN branch to use)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文