Visual Studio Online构建自动化新特性_最新动态_新闻资讯_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 新闻资讯 > 最新动态 > Visual Studio Online构建自动化新特性

Visual Studio Online构建自动化新特性

 2015/5/4 2:06:23    程序员俱乐部  我要评论(0)
  • 摘要:英文原文:NewBuildAutomationFeaturesinVisualStudioOnline微软完全重写了TeamFoundationServer和VisualStudioOnline的构建服务器,新工具不再使用大量基于XAML的Windows工作流文件作为构建定义。这次重写主要解决以下问题:如果不学习工作流基础知识,则无法添加构建后自定义脚本构建服务器不支持非Windows平台,不能用来构建iOSapp要想构建Java程序
  • 标签:新特性 Visua Visual Studio
class="topic_img" alt=""/>

  英文原文:New Build Automation Features in Visual Studio Online

  微软完全重写了 Team Foundation Server 和 Visual Studio Online 的构建服务器,新工具不再使用大量基于 XAML 的 Windows 工作流文件作为构建定义。

  这次重写主要解决以下问题:

  • 如果不学习工作流基础知识,则无法添加构建后自定义脚本
  • 构建服务器不支持非 Windows 平台,不能用来构建 iOS app
  • 要想构建 Java 程序,必须学习 MSBuild 和另外一项技术
  • 只有最新版 Visual Studio 才能编辑构建模板
  • 大量恼人的 XAML。新的构建定义不再使用含有大量 XAML 的 Windows 工作流文件。
  • 不能通过 Web 页面或在非 Windows 机器上编辑构建定义

  为了解决这些问题,微软的新构建服务器遵循了这些关键原则:

  • 不再创造一个新的构建/自动化领域特定语言。如果你正在使用 MSBuild、Ant 这些构建工具,那么你可以继续使用他们
  • 支持非 Windows 平台。
  • 构建系统必须具有良好的扩展性
  • 不应该隐藏日志记录

  Visual Studio Online 中的新特性

  可以直接在浏览器中创建并修改构建定义,从此不需再为调整构建文件而打开沉重的 Visual Studio。

  构建定义经常需要访问不想告知他人的机密内容,例如产品密钥、安全 token,现在你可以在构建定义中使用加密变量保护这些机密。

  构建定义不再被直接定义为一个分支。你创建定义后,可以使用构建定义标记将被构建的分支,每一个分支可以拥有它们自己的触发器(CI,daily 等)。

  当使用诸如 git-flow 的工作流时,最终你往往会创建一堆特性分支。在这个新模型下,你可以在构建定义中使用通配符。举个例子,你可以定义:任一匹配“feature-*”的分支将自动被编译并运行测试,而“qa-*”分支只进行每日构建。

  构建工具可以直接运行 PowerShell 脚本。这对 Azure 来说尤其重要,Azure 的部署大部分由 PS 文件来处理。构建过程能够检查你的 Azure 订阅帐号,确保部署程序运行在正确的上下文中就变得更容易了。

  一旦部署了一个网站,构建自动化可以启动一个“快速性能测试”,亦即基于 Visual Studio/TFS 中的负载测试功能,运行一个初步的冒烟测试来确保部署成功。

  跨平台和测试

  除了在 OS X 上构建之外,现在可以在 OS X 上的构建自动化中集成测试程序,生成一个 JUnit 格式的测试结果,继而被导回到构建服务器中并显示。

  构建自动化也支持 Xamarin 测试云,你可以选择一些测试细节,例如:从 Visual Studio Online 直接选择你感兴趣的设备/操作系统。

  VSO 支持多种单元测试框架。

  跨平台构建代理基于 Node.js 和 xplat。

  可扩展性

  以环境变量的方式暴露关键信息,例如:构建版本号。任何脚本语言都可以读取环境变量获得这些信息。

  当新版本构建工具发布的时候,构建代理可以自动升级

  开源所有开箱即用的任务,尚未决定是否允许第三方为 OOB 贡献代码。

  在 Windows 平台用 PowerShell 编写任务,在其它平台上用 xplat 和 JavaScript 编写。

  体系结构

  新的构建服务器依然支持基于 XAML 的构建定义。

  构建代理移除了一大败笔——单一的物理控制器。

  代理被分为许多池,每个池被配以集合并受到池级保护。消除了管理个别构建代理的必要性。

  安全性

  目前的构建代理运行在一个共享进程中。这意味着一旦构建失败将影响到整个构建代理,甚至一个打开的文件句柄都会让整个过程终止。

  在新构建代理模型中,每个构建运行在自己的进程下。当一个构建完成时,进程被完全销毁,并创建一个新的进程来执行下一个构建。

  在大多数构建系统中都有一个相对未知的安全黑洞——“单元测试后门”。开发者可以通过写单元测试来捕获敏感信息,然后用于获取严格保密的信息。为了帮助开发者减轻这方面的风险,构建代理绑定了一个时间限制 token,一旦构建完成立即失效。

  想了解更多有关构建自动化新特性的信息,欢迎查看 Channel 9 的现场演讲《Team Foundation Server 和 Visual Sdudio Online 中的新一代构建自动化》。

发表评论
用户名: 匿名