问题标签 [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.

0 投票
2 回答
98 浏览

continuous-integration - 当另一个构建失败时如何防止构建?

我在 Hudson 中为单个解决方案创建了许多构建配置(例如,发布、调试、测试) 当我犯了错误时,我收到了每个构建配置的 1 封构建失败的电子邮件。我想收到一封电子邮件。我想如果我可以让一个构建依赖于另一个构建的成功或失败,我会收到更少的电子邮件。

怎么做?

顺便说一句:我使用 MsBuild、Subversion 和 NAnt

0 投票
3 回答
3017 浏览

build - 如何防止提交空的 Perforce 更改列表成为错误?

Perforce 认为尝试提交没有文件的更改列表是错误的(p4 submit ...返回退出代码 1)。这会导致我们的构建服务器上的定期集成构建失败(我们使用的是Zutubi 的 Pulse 系统);在这种情况下,我宁愿构建成功,可能带有警告。

Pulse 具有退出代码重新映射功能,但 Perforce 似乎无法区分未能提交空更改列表和任何其他提交失败(例如验证触发器失败,我确实希望构建失败)。

想到的最明显(但在我看来,不优雅)的解决方案是p4 submitp4 openedp4 submit“无文件”消息并从批处理文件成功返回。

有没有更好的技术来处理这个我没有看到的?

0 投票
3 回答
6402 浏览

asp.net - 在带有 Web 部署项目的 ASP.NET“网站”项目中将 NuGet 与 *.dll.refresh 文件一起使用

如果您有一个 ASP.NET 网站项目类型(没有正确的 .csproj 或 .vpproj 项目文件,并且只是一个松散文件的文件夹),那么当您使用 NuGet 添加一个包时,它会生成一个 *.dll Bin 目录中的 .refresh 文件以引用父包文件夹中的包的 dll。

例如,如果您从 Package Manager Console 执行“install-package elmah”,则 Elmah 被放置在项目解决方案目录中的 packages 文件夹中,而文件 Elmah.dll.refresh 被放置在项目的 Bin 文件夹中。

当我在本地构建项目时,Visual Studio 会自动拉入刷新文件引用的 DLL。该站点和 Elmah 运行正常。我没有将位于项目 Bin 目录中的 Elmah.dll 文件签入源代码管理(仅签入刷新文件和包文件夹)。

但是,我使用 Web 部署项目来预编译站点并为部署执行 web.config 替换。以这种方式构建解决方案时,Elmah.dll 不会自动拉入网站项目 Bin 目录,并且由于缺少 DLL,该网站无法正常运行。

NuGet 打算如何用于这种场景?我想检查 Bin 目录中的 Elmah.dll 吗?

0 投票
2 回答
27923 浏览

tfs - 如何从 MsBuild 中找到 tf.exe 的路径

我有一个 MsBuild 文件,它使用 tf.exe 向 TFS 发送一些内容。不幸的是,tf.exe 文件已安装到开发人员 PC 和构建服务器上的不同位置。

我真的可以用一种方法来检测 tf.exe 文件在我的脚本中的位置,就像你可以做 $(MSBuildExtensionsPath32) 等一样。这可能吗?

一如既往地感谢:)

0 投票
1 回答
340 浏览

c++ - 在构建服务器上处理多个 Windows SDK 版本

我们有一个 TeamCity 构建服务器,其中设置了几个代理,用于在签入时为几个 c++ 项目构建代码。现在,我们遇到了一些关于处理 Windows SDK 依赖关系的问题,因为

  • 大到可以签到,还能顺利和源一起工作。
  • 几个不能同时安装没有问题。

设置 TeamCity 代理的最简单方法是安装 Windows SDK。但是,安装两个版本的 Windows SDK 是有问题的,因为它似乎会覆盖以前安装的注册表项。另一种方法是从安装中挑选文件并将其放在 rsync-server 等上,但 Windows SDK 安装程序似乎修改了 Visual Studio 二进制文件等,因此感觉也不好。我还与微软核实过,他们强烈建议不要从 SDK 安装中挑选文件。

您是如何在 TeamCity 上设置您的 c++ 项目的?您对我们的情况有何建议?

0 投票
2 回答
557 浏览

visual-studio-2010 - 在编译时将引用路径从 GAC 更改为文件夹

我有一个依赖于一些 3rd 方库的项目。这些程序集在 GAC 中注册。到目前为止,一切工作正常。但是在构建服务器上构建项目时,第 3 方程序集不在 GAC 中,而是在一个额外的文件夹(称为external)中,该文件夹也在构建服务器使用的 SVN 存储库中。

由于 MSBuild 找不到这些程序集,构建将失败。有没有办法告诉构建服务器上的 MSBuild 使用此文件夹中的程序集而不是 GAC?

0 投票
3 回答
528 浏览

c# - 使用 ASP.NET (MVC 1) 在 devmachine 和 buildserver 上产生不同的结果

我们有一个 .NET 3.5/ASP.NET MVC 1 解决方案。在开发人员机器上一切正常,但在构建服务器上开始构建之后,我们得到:

“仅允许直接在包含内容控件的内容页面中使用内容控件。”

例如

相同的 ASP.NET MVC,相同的 .NET。构建服务器上未安装Visual Studio 2008 。

任何想法?

环境

  • 构建服务器:CC.NET 1.6
  • 操作系统:Windows 2003 R2 SP2
  • IIS 6
0 投票
1 回答
98 浏览

build-automation - 针对开发人员需求量身定制的即用型虚拟机资源

我想知道是否有人和我想法一样。我经常发现自己在做一些事情,想知道一个特定的片段是否不会破坏 *BSD 或 gentoo 构建。现在启动虚拟机(使用所有开发工具)、测试代码段并返回到您通常的工作流程不是很方便吗?

就在这个周末,我正在寻找安装了texinfo(尤其是texi2dvi)的 FreeBSD 映像,我最终安装了自己的副本并在接下来的 3 小时内编译了开发工具。而我想要的只是快速下载一个准备好的 500M qemu 映像,启动它,测试我的东西,然后再扔掉它。

现在提问:是否有专门针对开发人员需求量身定制的http://virtualboximages.com/http://www.vmware.com/appliances/之类的东西?或者更准确地说,任务是列出所有这些地方,因为必须花几个小时搜索东西与花几个小时安装东西一样糟糕。

0 投票
2 回答
79 浏览

sharepoint-2010 - 在 32 位机器上构建 Sharepoint 项目

我的 buildserver 是 32 位系统。

我听说要运行和开发 sharepoint 项目,我需要一台 64 位机器。

在32位系统上搭建sharepoint项目可行吗?

0 投票
3 回答
8577 浏览

tfs - TFSBuildServiceHost.exe 的 Windows 服务用户帐户问题

今天在我们的 TFS2010 构建服务器上遇到了一个非常奇怪的问题。突然,构建服务无缘无故地失败了。我们整天都在解决它,但仍然没有找到原因。

问题之一是构建服务正在(或应该!)在名为 tfs2010build 的 AD 用户下运行。但是,当我尝试启动服务时,出现以下错误

当我查看 TFS2010 服务器上的事件日志时,我看到失败的身份验证是为名为 TFS2010Install 的用户注册的,该用户用于安装所有内容。我已经检查了三次,并且该服务被指定为在 TFS2010Build 下运行。

来自 TFS2010 服务器的日志:

所以我的问题是这怎么可能。用户 TFS2010Build 会不会被 TFS2010Install 冒充?我尝试安装一个额外的构建服务器,在这里启动用户 TFS2010Build 下的服务没有问题 - 因此它不是 AD 或 TFS 用户权限的问题。

希望各位大侠帮忙!

/碧玉

!!更新了一些屏幕截图。构建服务器是 TFS2010BIULD,TFS 服务器是 TFS2010 在此处输入图像描述

链接到全尺寸

非工作构建服务器 TFS2010Build 的屏幕截图 在此处输入图像描述

工作构建服务器 TFS2010Build1 的屏幕截图 在此处输入图像描述

!!新更新

我已经设法让构建服务在 TFS2010Build 用户帐户下运行(这实际上是问题开始时的初始状态)。当我将构建排队到此控制器和代理时,我在构建日志中得到以下信息:

TF215097:为构建定义 \PlanteIT_MarkOnline_Scrum\CI_Main_FieldOnlineClient 初始化构建时出错:TF215106:访问被拒绝。LC\TFS2010INSTALL 需要为团队项目 PlanteIT_MarkOnline_Scrum 中的构建定义 CI_Main_FieldOnlineClient 更新构建信息权限才能执行操作。有关详细信息,请联系 Team Foundation Server 管理员。

尽管 TFS2010Build 用于构建服务,但它仍然坚持 TFS2010Install 用户帐户正在运行该服务。有任何想法吗?