tfs - TFS 构建代理更新
问题描述
我的问题可能听起来微不足道,但经过几天的研究,我无法得出任何结论。应该多久更新一次生产构建代理上的构建工具。
一些细节来理解为什么我有这个困境。一方面,我想保持生产构建环境尽可能稳定。目前使用 TFS 服务器 2017,构建代理使用作为 Visual Studio 安装一部分的 msbuild (VS2017 - 15.0.26228.0)。我们构建 C++ 非托管应用程序。最近在追一个问题,我们的应用会无缘无故卡住很长时间(忙了7-8分钟,然后继续)。在尝试调试问题时,我从相同的源创建了新的可执行文件,但使用不同的系统来构建它(它有 VS2017 - 15.5.27130.2036)。它是从视觉工作室构建的。我注意到exe的大小不同,当然它没有冻结问题。检查发行说明没有帮助,我没有看到任何可以解释生成的二进制文件的差异的东西。我不得不说,我们的代码有点复杂,使用了大量的第三方库,在内存中创建了很多复杂的结构。导致冻结的代码区域与重新初始化大量对象、重新创建大量复杂结构的向量有关......
无论如何,问题在于行业如何处理更新以在生产环境中构建工具。任何想法将不胜感激。
解决方案
每个代理都有一组表明它可以做什么的能力。能力是由代理软件自动发现的名称-值对,在这种情况下它们称为系统能力,或者是您定义的那些,在这种情况下它们称为用户能力。
您可以查看代理的系统功能,并通过导航到代理池中心并选择所需代理的功能选项卡来管理其用户功能:http://TFS2017:8080/tfs/DefaultCollection/_admin/_AgentPool
这些功能不会由构建代理更新,如果您想更新它们,您必须在您的构建代理机器上手动更新它们。在代理上安装新软件后,您必须重新启动代理才能显示新功能。
推荐阅读
- mysql - 如何获取MySQL中数据类型为时间戳的所有列名?
- laravel - 如何计算laravel搜索结果?
- cmake - 使用 GRAPHVIZ_CUSTOM_TARGETS=TRUE 为自定义目标生成依赖关系图
- json - Struts 2 Ajax JSON 的库问题
- python - 为现有列创建新列并以一定间隔添加值
- algorithm - 按键从一小组项目中查找项目的最快方法是什么?
- amazon-web-services - 从 aws ecs 任务定义中剥离的秘密
- sql - 同一个表中的多个连接
- postgresql - 连接到较旧的 Postgresql 数据库
- javascript - 制作 React Native 多行文本输入,在拖动时隐藏键盘并且不隐藏光标