Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
本地测试TFS生成工作流_Tfs_Tfsbuild - Fatal编程技术网

本地测试TFS生成工作流

本地测试TFS生成工作流,tfs,tfsbuild,Tfs,Tfsbuild,我在TFS 2012系统上维护我们的构建过程 到目前为止,我一直在对生成自定义活动DLL的解决方案进行本地更改。这些DLL被签入TFS,并由生成控制器和代理用于自定义生成模板中的自定义活动 对于我所有的代码和工作流活动,我都有一个单元测试库,我可以在本地运行它来输入一些基本测试值。虽然这让我对自定义任务的运行方式有了一个很好的了解,但它并不是最优的 我希望能够运行整个构建定义。是否有方法在本地测试整个构建过程,以便在签入和启动构建之前确保对工作流所做的更改是可接受的?现在,我的构建需要30到40

我在TFS 2012系统上维护我们的构建过程

到目前为止,我一直在对生成自定义活动DLL的解决方案进行本地更改。这些DLL被签入TFS,并由生成控制器和代理用于自定义生成模板中的自定义活动

对于我所有的代码和工作流活动,我都有一个单元测试库,我可以在本地运行它来输入一些基本测试值。虽然这让我对自定义任务的运行方式有了一个很好的了解,但它并不是最优的

我希望能够运行整个构建定义。是否有方法在本地测试整个构建过程,以便在签入和启动构建之前确保对工作流所做的更改是可接受的?现在,我的构建需要30到40分钟才能完成,我希望能够在本地启动、监视、调试和停止构建,而不占用任何代理

编辑
对于我来说,解决这个问题的另一种方法是想出某种方式在本地执行工作流,即构建模板。有人能做到这一点吗?

看看Ranger Build定制指南。做很多这样的事是有道理的。它看起来不像是在v2中,所以看看v1.2


如果我对问题的理解正确,一种方法可能是:

在本地安装生成代理,并将其注册到TFS生成控制器。 提供,这样就不会从队列中分配其他构建 搁置更改集 在VS中,右键单击所需的生成定义,然后选择queue new build。将打开队列生成窗口 在“常规”选项卡下,选择要生成的内容,然后选择搁置集。 在参数选项卡->高级->代理设置下,输入代理的标记。 单击队列。
我使用@malexander建议的一个修改版本来实现这一点

在TFS中创建一个代码分支,在那里提交您的更改,尤其是对自定义活动DLL的编译二进制文件的更改,而不仅仅是源代码。 在本地安装TFS生成控制器和生成代理,并在TFS服务器上注册该控制器。 将新的本地控制器配置为使用存储在新TFS代码分支中的修改过的自定义活动DLL。团队资源管理器>生成>操作>管理生成控制器> 选择新的本地控制器>属性>版本控制 自定义程序集的路径 4. 将现有TFS生成定义中的新生成排队:更改其控制器以使用新的本地控制器。 新版本将使用修改后的自定义活动DLL在本地控制器/代理上执行,而不会干扰/重新启动生产代理。
另外:由于您在自己的代码分支中,因此可以提交自定义活动DLL的调试版本,而不会影响生产代理。

Mike,我查看了zip,找到了一个正在开发的自定义活动pdf,但我能找到的所有相关内容都是对代码活动进行单元测试。