【问题标题】:Continous Integration Server in Windows AzureWindows Azure 中的持续集成服务器
【发布时间】:2011-04-06 20:55:22
【问题描述】:

我想在我的项目中使用持续集成系统。但是,我不想使用办公室中的服务器,而是希望我的持续集成服务器在 Windows Azure 上运行。有没有人设置这个?是否有在 Azure 中托管 Hudson 或 CruiseControl.Net(或任何其他 CI 系统)的方法?

【问题讨论】:

  • 如果 CI 服务器在 Azure 中运行,它将如何与您的源代码控制服务器通信?
  • 可以使用 Azure Connect(目前处于测试阶段)
  • 在我的例子中,源服务器是面向互联网的。
  • 我的学生已经开始为Windows Azure设计一个云集成服务器,见code.google.com/p/cassis但是问题还处于早期阶段。

标签: azure continuous-integration hudson cruisecontrol.net


【解决方案1】:

我们使用 Team Foundation Server 中的构建管理器将我们的自动化构建推送到 Azure。我们设置了 Azure 托管服务,以允许使用此插件通过远程桌面进行 Web 发布 - http://dunnry.com/blog/2010/12/20/UsingWebDeployWithWindowsAzure.aspx

您无需让 Team Foundation Server 使用该插件 - 您可以将您的实例设置为通过没有 CI 的 Visual Studio Web Publish 即时发布到 azure。

我认为 Azure CI 解决方案有两个部分 - 从您的源代码控制自动构建和实际将位推送到 azure。该插件使发布到 Azure 的速度快得多。因此,如果您想实时访问 Azure 上的更改,则需要查看该插件。

【讨论】:

  • 我希望 CI 在 Azure 中运行。我可以将此系统用于与 Azure 无关的软件项目。在这个问题中,我想使用 Azure 作为我的 CI 解决方案的可扩展主机。
【解决方案2】:

听起来您正在尝试将 Azure 用作基础架构提供商,它在您的构建发生的地方运行一个 VM。

这对于 Azure 来说不是一个特别好的用例。 Azure 是一个运行定制应用程序的平台。虽然它确实提供了类似于 Amazon 或其他 IaaS 云提供商的 VM,但这些 VM 是“无状态的”,可以随意上下,并且可以充当应用服务器,在任何给定时间都可以启动多个。

您可能可以让它在 Azure VM 上运行,但我不确定这种痛苦是否值得。

Azure 的实例是应用程序服务器,而不是“Windows 服务器”。

HTH

【讨论】:

  • 您关于 Azure 不是 IaaS 的观点得到了很好的理解,但 CI 不是一个很好的 PaaS 应用程序吗?例如,构建 slave -wiki.hudson-ci.org/display/HUDSON/Distributed+builds 不是 PaaS 的一个很好的用例吗?
  • 我认为在 Azure 上运行的 slave 应该可以工作......我正在努力看看 master 将如何运行。
  • (这是一次很棒的对话,我认为您提出了很好的观点)据我了解,master 只是一个前端,它读取持久状态并请求执行作业。这可以是前端的 Web 角色 + 用于存储的 Blob/表;为了可用性,我希望您需要 2 个网络角色。
【解决方案3】:

我已经在 Windows Azure 上安装了 Jenkins,它非常适合我。

http://blogs.msdn.com/b/gongcheng/archive/2013/02/27/jenkins-on-windows-azure-the-missing-manual.aspx

【讨论】:

    猜你喜欢
    • 2018-11-16
    • 2011-11-14
    • 2015-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-07
    • 2016-05-06
    • 2013-11-04
    相关资源
    最近更新 更多