【问题标题】:TFS Build - Not including latest changesetTFS 构建 - 不包括最新的变更集
【发布时间】:2017-03-22 21:45:48
【问题描述】:

我有一个自定义 TFS 构建模板,其中包含一个过程,该过程运行一个过程,该过程涉及从服务器获取一些数据并将其检入 TFS,然后再进入主构建过程。

步骤如下:

  1. 设置内部版本号
  2. 运行我们的自定义脚本 - 获取数据,检查 TFS
  3. 初始化环境
  4. 从 Team Foundation 版本控制中获取源代码
  5. 关联自上次良好构建以来发生的变更集
  6. 编译、测试和发布

我似乎遇到的问题是,自上次成功构建以来的所有更改集都包括在内,但与在第 2 步运行的脚本关联的更改集除外。

有人知道这里会发生什么吗?我的猜测是,自上次构建以来正在寻找更改集的逻辑使用的是在请求构建时设置的截止值(因此为什么忽略最后一个更改集),但这只是一个没有根据的猜测。

提前感谢您的帮助。

【问题讨论】:

  • 为什么要在构建开始前使用step2签入代码,需要签入哪些数据?使用默认的关联变更集活动似乎无法识别在步骤中创建的变更集。
  • 我们有一个服务器,其中包含在安装时插入数据库的默认数据。第二步中的过程将该数据读入 XML 格式,并将生成的文件签入 TFS。这通常是手动启动的,但对于我们的夜间构建,我们需要将其作为构建的一部分来完成。
  • 您使用的构建系统是什么? XAML 还是 vNext?
  • 我正在使用 XAML

标签: tfs tfsbuild


【解决方案1】:

尝试以下步骤:

  1. 编辑您的构建定义并转到“进程”选项卡。
  2. 在“获取版本”选项下输入“T”。
  3. 对构建进行排队并检查结果。

【讨论】:

  • “T”是什么意思?
【解决方案2】:

我将有两个构建链接:第一个构建生成并签入文件,第二个构建只是将它们拉下来。

【讨论】:

  • 我们正在为 MVC 项目使用 TFS 2017 CI 管道,我也将项目的 bin 文件添加到 TFS 中,管道没有问题,它成功并成功生成了工件,但主要问题是如果我对与项目的 DLL 相关的代码进行了任何更改,CI 管道的构建解决方案不会生成自己的最新 bin 文件,除非我手动签出 project.dll 文件,然后在文件中签入,而不是管道将选择更改,我错过了什么,使用“MSBUILD”任务的结果相同,我还选择清理“所有目录”但没有结果 v
猜你喜欢
  • 2017-08-16
  • 2017-07-31
  • 1970-01-01
  • 2023-03-21
  • 1970-01-01
  • 1970-01-01
  • 2014-02-18
  • 2016-04-25
  • 2012-03-14
相关资源
最近更新 更多