2017-02-07 28 views
2

我想知道如何在TFS中真正使用PowerShell。我想添加一个发布步骤来创建工作项目任务,告诉我们的发布管理团队他们需要批准发布。如何在tfs 2017中使用powershell

我们公司有许多团队项目,我希望这可以作为任何项目可以使用的模块。我正在使用的过程是为TFS项目添加我们存储通用项目的工件。

这是在$\BuildSupport下,对于这个例子,我在$\WEB下为我的项目创建了一个构建。我也在创建$\Web的版本。我创建了我的新版本定义,我添加了我的Build构件。

然后,我将Team Foundation版本控制工件添加到$\BuildSupport源别名为“BuildSupport”。

我再添加一个名为试生产环境的步骤,并添加PowerShell的任务,其中脚本路径是:$(System.DefaultWorkingDirectory)/BuildSupport/Main/BuildTools/TFSBuildScripts/CreateWorkItem.ps1

我的问题是,创建一个新的版本时,它要求我选择的每一次神器版本基于BuildSupport的变更集。

Here is a screenshot of the error message

我不想让每个人都这样做,每次有没有更好的办法?

+0

“我想添加一个发布步骤来创建工作项目任务,告诉我们的发布管理团队他们需要批准发布。”电子邮件可以配置为在需要批准时发送出去。为什么重新发明轮子? –

+0

电子邮件不够好,我们的流程非常具体,他们在任务队列中工作。另外,当我们正在进行产品发布时,我们还需要关联正在部署的用户故事 – greektreat

+1

假设提交已与用户故事相关联,用户故事会自动与发布相关联。这听起来像你的过程应该重新评估,以说明你使用的工具的功能。 –

回答

0

没有指定TFVC工件版本的情况下对新版本进行排队的方法。我在这里提交用户语音:Default version of artifacts when queue new release

的解决方法是:

您可以创建一个任务组每个团队项目,则该任务组加入相应的版本定义。 (你需要的,如果有更新,更新任务组)

  1. 创建或打开一个版本定义
  2. 添加PowerShell的任务并进行配置(如类型:联脚本,参数:[必要参数],联脚本:[powershell脚本]等...)。您还可以指定在共享文件夹PowerShell的文件(地图BuildSupport到共享文件夹,那么目前的版本是“默认”版本时,队列发布)
  3. 右键点击该任务>创建任务组

之后您可以直接将此任务组添加到其他版本定义。

另一种方法是,您可以创建一个build/release task extension,然后将其安装到必要的团队项目中,之后您可以添加该定制构建/发布任务以构建/发布定义。对于这种方式,如果有更新,您只需更新扩展。

+0

感谢您的详细解答。目前,我将PowerShell放置在构建服务器上,只需编写一个内联脚本即可运行它。它似乎。工作得很好。一旦我有空闲时间,我会尝试弄清楚如何构建一个构建/发布扩展。有一个好的一步一步的指导? – greektreat

+0

@greektreat你可以参考这篇文章:https://www.visualstudio.com/en-us/docs/integrate/extensions/develop/add-build-task –

相关问题