问题标签 [build-server]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 在 TFS 构建服务器上运行单元测试 Fakes Framework | 错误
使用 Microsoft Fakes Framework,我试图在我们的 TFS 构建服务器上运行我的单元测试。本地它工作正常,但它在构建服务器上不起作用:
似乎没有将正确的文件复制到输出目录。我应该复制哪些文件(除了单元测试和测试的项目类)?例如,我应该复制 Fakes dll 吗?
teamcity - MsDeployPublish 位于哪里?
尝试使用 TeamCity 和 Web Deploy 部署我的站点时,出现此错误:
我必须在构建服务器上安装一些东西吗?这是安装了 Web Deploy 3.5 的干净的 Windows Server 2012。
automated-tests - 编码的 UI 构建服务器集成过程
我们想在我们的构建服务器中集成一个自动化功能测试解决方案(使用 SpecFlow 和 Coded UI 开发)。
该项目如下所示:
- AUT 是一个 WPF 应用程序
- 开发人员正在使用 Visual Studio 2010 Professional
- 自动化测试人员使用 Visual Studio 2012 Premium 加入项目(编码 UI 测试需要 VS Premium)
- Visual Studio 2010 Professional 安装在构建服务器上
- 使用詹金斯
- 为开发配置了一个 VM,测试人员将使用第二个 VM
有人可以帮助我构建服务器集成过程吗?执行此操作的主要步骤是什么?我们需要将构建服务器上的 VS 版本升级到 2012 Premium 吗?还有其他一些解决方案/解决方法吗?
注意:我在集成、构建服务器配置等方面是新手。
谢谢,
gwt - 为新的构建服务器编译 GWT 的最佳 CPU
在构建我们当前的项目时,GWT编译需要相当多的总时间(目前总共约 25 分钟,2/3 gwt 编译)。我们研究了如何优化它(例如这里),但最终我们决定购买一个新的构建服务器。GWT 编译是一项占用大量 CPU 的任务,因此我们进行了一些测试来分析每个内核的改进:
- 1 个核心 = 197 秒
- 2 核 = 165 秒
- 3 核 = 149 秒
- 4核=157s(可能是最后一个核忙于其他任务)
从这些数字来看,添加更多内核似乎并不一定会提高性能,因为这些数字似乎趋于平缓。
1.)所以现在我会很感兴趣,如果你们中的某个人可以证实/反驳这一点?所以 8 或 12 核并不一定会产生影响 - 但单个 cpu 速度 (mhz) 会产生影响吗?
2.) 在看到一些基准后,我们的销售人员倾向于购买 *ntel xeon - AMD 有经验吗?(我更像是一个 AMD 人,但目前似乎很难忽视基准测试)
3.) 欢迎任何其他关于内存、IO 等的建议
更新:当我们得到新服务器时,我会发布更新的数字......
azure-devops - 使用 Visual Studio Online 配置的自己的构建服务器
我们正在使用 Visual Studio online (TFS),现在由于一些 activX 许可证要求,我们需要拥有自己的构建机器。我们喜欢为此使用 Azure 虚拟机。我们需要先安装 Build Server,但由于我们使用的是 Visual Studio Online,因此我们没有在现场安装 TFS。我们该如何进行?
c# - Web 应用程序构建错误:无法找到 CodeDom 提供程序类型 Microsoft.VisualC.CppCodeProvider
我正在构建服务器中构建/打包 Web 应用程序,但它失败并显示以下消息:
ASPNETCOMPILER 错误 ASPCONFIG:找不到 CodeDom 提供程序类型“Microsoft.VisualC.CppCodeProvider,CppCodeProvider,Version=10.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”。
这是构建服务器环境:
- Windows Server 2008 R2 标准版
- 团队城市 8.0.4
- .NET 4.5
- 适用于 Windows 7 和 .NET 4 的 Windows SDK
- 适用于 Windows 8 和 .NET 4.5 的 Windows SDK
- 可移植类库工具
- ASP MVC 4
它是一个面向 .NET 4.5 的 ASP MVC 4 Web 应用程序。
构建配置包括使用 MSBuild 构建解决方案,并将其部署到包中,以便稍后发布。
通过 TeamCity 的日志,我可以看到 MSBuild 运行时出现的错误aspnet_compiler.exe
。
在我的 DEV 机器上构建没有问题,也可以毫无问题地将其发布到本地 IIS。
有谁知道可能导致此问题的原因?
更新
version-control - TFS 客户端是否需要拥有构建服务器调用的工具的本地副本?
假设有一个 TFS 服务器,其中安装了某种 WF 构建活动。例如,这只是一个示例,假设活动获取构建输出,解密存储在服务器上某处的凭据,并执行需要解密凭据的操作:它可能通过网络将构建输出的副本发送给某些人客户端无法直接访问的计算机。
TFS 客户端是否需要具有执行该操作的构建活动的本地副本?还是他们只是将代码更改推送到服务器,让 TFS 服务器决定如何构建代码以及如何处理构建输出?还是客户对 TFS 用于构建代码的工具以及它在构建输出上执行的操作有一些控制权?回到我提供的示例,如果用户需要为构建后操作提供凭据,那么活动的实施者负责确保凭据在从客户端传输到服务器时得到适当保护,或者TFS 照顾那个?
continuous-integration - TFS 2013,在构建上仅部分成功。“将诊断活动日志复制到放置位置时出错”
我知道这个问题已经报告了好几次了,但是我找到的解决方案对我不起作用。设置:
我们将 TFS 2010 升级到 TFS2013 如升级手册之一所述,我们已备份数据库和分析服务密钥并将它们恢复到不同的机器上。我们称这个新盒子为 boxTFS2013。最初整个设置都是在那里完成的,除了一些共享点问题之外,它是成功的。但是构建服务开始报告这个问题:
“将诊断活动日志复制到放置位置时出错。详细信息:HTTP 请求在 00:01:40 后超时。”
几乎所有与 TFS 相关的东西,包括构建服务都在帐户DOMAIN\TFSService上运行。NTNetworkAuthority上没有任何内容
作为第二步,我们创建了一个新的构建服务器boxBUILD2013,在那里安装了构建服务并从boxTFS2013卸载了构建服务。同样的问题 - 构建部分成功并且发生相同的日志复制失败。
现在的设置如下:
TFS2013、SQL和Sharepoint在盒子上TFS2013(Sharepoint即将搬家)。TFS2013 在DOMAIN\TFSService 帐户上运行。
构建服务在boxBUILD2013上设置。有一个控制器和两个代理。代理的工作文件夹是 d:\BUILD,帐户是DOMAIN\TFSService。放置文件夹在同一个盒子上,e:\BUILDS(我们解决当前问题后将更改名称)。
通常人们通过授予构建代理写入放置文件夹的权限来解决此问题。从一开始就是这样(该域帐户始终可以访问),但问题仍然存在。只是为了验证问题与权限无关,我已授予帐户 Everyone 完全控制权限:d:\BUILD 和 e:\Builds
据我所知,xml 构建定义不包含任何异常。构建将文件删除到它们应该放置的位置,部分失败仅发生在日志上。我真的没主意了。有人可以建议吗?
.net - 在构建代理上运行代码分析 (FxCop > 10) 而不安装 Visual Studio
在 FxCop 10 之后,Microsoft 停止为 FxCop 提供单独的安装程序。官方目前只能在安装 Visual Studio 2013 / 2015 / 2017 后运行代码分析(FxCop 12.0 / 14.0 / 15.0)。但是,我们坚持不要在构建代理上安装 Visual Studio(安装需要保留在 -与我们在开发人员计算机上获得的内容同步等)。
那么我将如何让 FxCop 12.0 / 14.0 / 15.0 在构建代理上工作,最好不安装其他任何东西?不过,我会接受将一些二进制文件和 msbuild 文件添加到源代码控制中。否则:有没有办法只使用 Visual Studio 2013 / 2015 / 2017 安装程序安装 FxCop 的东西?
注意:我们使用 Teamcity 作为构建服务器。
答案
由于特定环境和 FxCop 版本有多个有效答案,我冒昧地将它们链接到此处以便于访问:
api - TeamCity REST API:谁破坏了构建?
在我们的办公室中,我们使用自定义Geckoboard从TeamCity 8构建服务器显示有关我们当前构建状态的信息。
我们使用以下 REST 查询显示最近的签到/更改:http://teamcity.internal.com:8080/httpAuth/app/rest/changes?project:ProjectName&locator=count:10
我们还计算了上次使用此 REST 查询破坏构建的时间:http://teamcity.internal.com:8080/httpAuth/app/rest/builds?locator=project:ProjectName
然而,我们不仅能够将两者联系起来。
换句话说:
- 对于最近的更改,以确定签入是否导致构建损坏
- 最后一次构建被破坏确定谁进行了签入