【问题标题】:Continous Integration, Azure cloud service, Selenium Tests, repos on github持续集成、Azure 云服务、Selenium 测试、github 上的 repos
【发布时间】:2016-01-05 04:14:14
【问题描述】:

我是一名初学者网络程序员,我的公司要求我研究最适合他们的 CI。起初他们想使用 VS Team Services,因为它对不到 5 人免费。以下是我们的情况

  • 我们将网站托管为 Azure 云服务
  • 网站的代码在 GitHub 上,并且希望保持这种方式(开发和主分支)
  • GitHub 上有一个单独的硒测试存储库(仅 master 分支)

我们喜欢遵循的工作流程如下

在 GitHub 上与 dev 分支合并 -> 在 Team Services 上构建触发器 -> 构建通过 -> 部署到 Azure 上的测试槽 -> 从 Github 主分支获取最新的 selenium 测试 -> 针对测试槽 URL 构建和运行 selenium 测试在 Azure 上 -> 测试通过 -> 请求部署到生产和其他插槽(如演示)的权限。

如果任何构建或测试失败,CI 将停止并向开发人员发送电子邮件。

到目前为止我所知道的:

我四处搜索并设法在与分支合并时触发 Team Services 上的自动构建。但正如我所说,主要的 web 代码和 selenium 测试位于两个不同的存储库中,我的老板希望保持这种方式。 我还了解到,在托管的 Team Services 构建代理上运行 selenium firefox 测试是不可能的,因此我们计划使用一些本地 PC 来构建和测试(尽管我们最初希望一切都在 Team Services 上发生)

问题 #1:测试和主应用程序位于两个不同的存储库中,所以我不知道 Team Services 是否支持链式构建(主应用程序构建通行证 -> 硒构建和运行 -> ...) . 问题#2:在 selenium 测试通过后,当代码在 github 上时,我如何让 VS Team Services 部署到 Azure 云服务

如果您认为在 Team Services 中执行此操作太复杂,请建议适合 Team Services 的其他工作流程(但将存储库保留在 github 上)或其他 CI 服务,这些服务可以满足我们的需求,但更易于使用。

提前感谢大家尝试回答我的问题

【问题讨论】:

    标签: azure selenium github continuous-integration azure-devops


    【解决方案1】:

    我还了解到不可能在托管的 Team Services 构建代理上运行 selenium firefox 测试,因此我们计划使用一些本地 PC 来构建和测试

    根据我的经验,我已经成功使用了TeamCity。它旨在与 .Net 一起使用。我们的基础设施完全基于 Azure,我们使用了专用的 Selenium Server VM(上面配置了 Grid),因为 TeamCity 代理太弱而无法执行并行 UI 测试。基本思想是您的 TC 代理运行测试(在我的情况下为 NUnit),但浏览器是在 Selenium VM 上创建/执行的。

    但正如我所说,主要的 Web 代码和 selenium 测试位于两个不同的存储库中,我的老板希望保持这种方式。

    不管你使用什么版本控制(甚至是混合模式),TC 都支持。但为了记录在案 - 我也使用过 Git。您需要的是 - 根据您的工作流程链接构建步骤。

    【讨论】:

    • 谢谢@ekostadinov,Teamcity 正是我想要的,它非常可定制且易于链接构建。以下博客对 Azure powershell 脚本有所帮助。 weblogs.asp.net/srkirkland/…
    猜你喜欢
    • 1970-01-01
    • 2018-11-16
    • 1970-01-01
    • 2015-03-25
    • 1970-01-01
    • 1970-01-01
    • 2014-12-15
    • 2019-05-21
    • 2012-08-17
    相关资源
    最近更新 更多