TFS 2017 构建为代码

TFS 2017 build as code

如何在 "build" 和 "release" 中配置 2017 年的构建任务作为代码? 我正在为 Jenkins 管道搜索 Jenkinsfiles 之类的东西。

用例是:

  1. 我需要验证参数,然后根据全局传递的参数决定我调用哪些任务的顺序等等
  2. Web 中没有唯一的更改源 UI
  3. 在源代码管理中进行配置

是否有可能或有可用的插件来执行此操作?

没有开箱即用的方法。存在将构建和发布定义导出为 JSON 的市场任务,您可以使用 REST API 创建或更新构建和发布定义。结合这些东西,你当然可以实现你想要的。我在通过 PowerShell 针对 TFS 2015 和 VSTS 编写脚本 build/release 定义创建方面取得了一些成功。

TFS/VSTS VNext构建任务是运行顺序的,为了发布,它具备了环境部署条件,但是任务还是运行顺序的。您无法更改每个变量或参数的顺序,也无法配置。

在构建过程中,它会下载构建代理机器所需的任务,因此您可以在您的任务文件夹中查看源代码(PowerShell 文件或 JS 运行 by Node.js) build agent文件夹,你也可以查看这篇文章的源码:vsts-tasks

您所要求的目前无法实现。 There is a proposal out on the Visual Studio Agent GitHub site asking for feedback and with a proposal to do most of what you want.

我建议订阅该主题并提供您想要贡献的反馈。目前有no indication to a timeline to when this new yaml based build will be available though.

您确实可以将一些东西与 REST API 拼凑在一起,以便在构建发生更改时下载 json 并将其放入源代码管理中。每当提交新的 json 时,您都可以更新构建。但鉴于 Microsoft 正在努力在产品中启用您的方案,我建议您再等待一段时间。