【问题标题】:Running shelveset as remote run without unshelve将搁置集作为远程运行运行而无需取消搁置
【发布时间】:2016-01-14 13:50:44
【问题描述】:

将 teamcity 与 TFS 结合使用,是否可以在不先将其取消搁置到我的工作区的情况下运行搁置集?我找到了只从待定更改中运行它的方法(因此未搁置),但这似乎很奇怪,这是不可能的。

使用 Visual Studio 2008 和 teamcity 添加 8.1。

【问题讨论】:

    标签: tfs teamcity


    【解决方案1】:

    TeamCity 的 TFS VCS 插件当前未内置该功能。

    作为一种变通方法,您可以使用自定义构建配置参数和自定义构建步骤来执行此操作,该步骤会在构建之前自动取消搁置集。

    我在这里创建了一个功能请求:https://youtrack.jetbrains.com/issue/TW-43793

    手动解决方法:

    1. 创建一个新的构建参数:

      姓名:ShelvesetName
      种类:Configuration parameter
      规格:text description='The shelveset to unshelve in the format |[shelvesetname|[;username|]|]' label='Shelveset Name' validationMode='any' display='normal'

    2. 创建一个新的构建步骤:

      跑步者类型:Command Line
      步骤名称:Unshelve shelveset
      执行步骤:If all previous steps finished successfully
      运行:Custom script
      自定义脚本:
      if "%ShelvesetName%"=="" exit /b 0

      "%VS2013_Path%\tf.exe" unshelve "%ShelvesetName%" "%vcsroot.vcsroot-name.tfs-root%" /recursive /noprompt /login:domain\username,password

    您可能需要使用来自代理的适当变量/参数和您正在使用的 Visual Studio 版本更改 VS2013_Path

    您必须将 vcsroot-name 更改为您的 vcs 根的名称,并删除 /login 参数或指定您自己的凭据。

    必须将 VCS 根签出模式设置为 Automatically on agent (if supported by VCS roots),TeamCity 才能创建 TFS 工作区,这样才能正常工作。

    最后,当您运行自定义构建时,将Parameters 选项卡上的Shelveset Name 字段设置为搁置集的名称,包括所有者,例如shelveset1;domain\username

    【讨论】:

      猜你喜欢
      • 2018-01-08
      • 1970-01-01
      • 2016-08-30
      • 2017-01-09
      • 2019-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-15
      相关资源
      最近更新 更多