问题标签 [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 回答
116 浏览

tfs - 如何为构建服务提供未部署的依赖项?

前段时间我问过如何使用构建服务器上的依赖项来集成应用程序的问题,我得到了非常令人满意的答案。今天我面临一个不同的情况。对于一个项目,我必须使用不可再分发的依赖(SSRS 的 RDL 对象模型)。这意味着开箱即用,这些程序集不是为了开发目的而部署的。但不知何故,我需要...

我的第一个猜测是在 GAC 中发布它们。很好,它工作并且构建服务器能够顺利编译项目。但后来我意识到它破坏了一些应用程序,如报表服务器和报表生成器(可能它也会破坏 BIDS)。因此,在 GAC 中发布绝对不是一个体面的解决方案。

我的第二个猜测是检查源代码控制中的程序集。好吧,如果我只有 2 个大约 1MB 的程序集,它就可以工作。但是这里有23 个程序集和 29MB我必须签入,所以它也绝对不合适。

我对 MSBuild 目标了解不多,也许它可能是一个解决方案,但我真的不知道如何使用它。我一直在努力挠头,现在我必须在破坏我的构建或破坏我的服务之间做出选择!

0 投票
3 回答
721 浏览

nunit - Team City - 添加 Gallio 测试结果 xml 以构建显示

我使用 TeamCityGallio/XUnit/Specflow并尝试显示我们的单元/验收测试结果。我相信输出是NUnitxml 测试结果格式。

我们的单元测试使用带有 Gallio 的命令运行器自动显示。验收测试通过调用 Gallio (Run-Gallio) 的大型 Powershell 脚本运行。

结果输出到acceptance-test-results.xml。有没有办法显示acceptance-test-results.xml TeamCity (6.5.5)

0 投票
0 回答
55 浏览

.net-4.0 - 如何从持续集成中排除特定项目

我使用 TFS2010 进行源代码控制,并在 windows server 2008 R2 (x64) 上使用构建代理进行持续集成。

最近,我们推出了一个轻量级客户端应用程序 X,它使用 Office 2007 主互操作程序集与 Excel 进行交互。该应用程序对解决方案中的各种项目有许多依赖关系。没有其他项目对 X 有任何依赖。

除了 X 不会在构建服务器上构建之外,这一切都很好。通过阅读 StackOverflow 上的一些博客文章和一些文章,我了解到尝试在我的 x64 构建服务器上安装这些 PIA 是不可取的。这样做将涉及注册表中的一些黑客行为。

该解决方案有 30 多个项目,我不想复制 .sln 来创建一个混蛋 BuildServerVersion.sln(或其他东西),其中包含我想要在构建服务器上构建的 29 个项目。

是否有一种简单的方法来满足对 Office 2007 PIA 的依赖关系或使构建代理停止尝试构建该特定项目?我想我们可以从开发人员机器上构建和部署应用程序 X。无论如何,它是一个内部工具。

0 投票
3 回答
825 浏览

build-server - TFS2010 和惰性构建代理

我们有一个 TFS2010 设置,其中一个控制器和 2 个代理在同一台构建机器上运行。昨天构建服务器停止运行 2 个并发构建,只让一个代理完成工作。我试图重新启动控制器和代理,但没有锁定。没有模式,两个特工都在工作——一次只有一个。我今天添加了一个新代理(同一台机器),它现在可以获取 2 个并发构建 - 仍然有一个惰性代理。有什么想法吗?

新信息:当我有 2 个正在运行的构建和几个在队列中(NB 总共有 3 个代理)并且我将优先级更改为高时 - 它开始在最后一个代理上构建!?

0 投票
3 回答
2545 浏览

c# - 如何创建和管理构建服务器?

我是一名项目经理(以前是程序员),我最近决定要对其进行自动构建。所以我需要某种构建服务器。

一些信息:

  • 我所有的解决方案/项目都是 Visual Studio 2010。
  • 在 TFS 中管理的源代码控制。
  • 代码是 C#。
  • 构建服务器将位于 Windows XP 上。还没有决定我是使用 4CPU/8GB RAM 站还是 12CPU/16GB RAM 站。

我对如何使用构建服务器的知识为零。到目前为止,我们所有人(大约 40 名程序员)都没有使用任何构建服务器,你可以想象我们的构建是多么可耻:)

我计划首先进行夜间构建。下一步将是 on-checkin-build。后来希望在每晚构建的基础上构建我的软件的生产版本,以便我们的 QA 工作一点。

0 投票
2 回答
609 浏览

database-migration - 设计完整的数据库迁移堆栈

在开发过程中,我喜欢像 Entity Framework 4.3 Migrations 这样的框架的想法(尽管我需要它来处理 sql 脚本而不是 Migration 类)使所有开发人员数据库保持最新。有人进行更新以获取最新源,他们尝试运行应用程序并收到错误,他们需要将数据库更新到最新迁移(或让迁移自动发生)。迁移文件带有时间戳,因此开发人员不必担心将两个文件命名为相同或文件需要执行的顺序。

当我准备构建 WebDeploy 部署包时,我希望该包包含将生产数据库移动到最新数据库版本所需的脚本。所以不知何故,MSBuild 或 WebDeploy 需要决定必须打包哪些脚本。对于部署,我不希望应用程序尝试像 EF 提供的那样更新自身。我想要么将包交给 IT 部门,要么通过部署服务器进行自动部署。

我的一些问题是:

  1. EF 4.3 是否可以使用 sql 脚本而不是 DBMigration 类来满足我的开发需求(我已经将它用于我的 ORM,所以如果可以的话会很好)?

  2. MSBuild 或 WebDeploy 是否理解数据库迁移的概念(例如,它是否识别 EF.4.3 migrationHistory 表)或者我是否必须确保只提供它需要运行的脚本,以便将我的 prod db 带到最新的迁移?手动决定应该打包哪些脚本不是我想做的事情,是否有理解迁移的 MS WebDeploy 扩展?

  3. 我的担忧和想法有效吗?我只是在研究这个东西,所以我真的不知道。

0 投票
2 回答
1724 浏览

msbuild - Team City 7 在项目中找不到 DLL

我正在尝试让我们的解决方案与 Team City 7 一起使用。当 Team City 从主解决方案 (.sln) 文件构建时,我遇到了问题。一旦它到达我们进行单元测试的项目,Team City 就会吐出​​一个错误,即找不到各种 DLL,如 Gallio.dll、mbunit.dll 等。

虽然在本地这个项目编译得很好,并且对这些 DLL 的所有引用都设置正确。为什么 Team City 会遇到问题?

错误如下所示:

General Logic\Language\LanguageLogicTests.cs(6, 7):错误 CS0246:找不到类型或命名空间名称“Gallio”(您是否缺少 using 指令或程序集引用?)

0 投票
1 回答
1343 浏览

continuous-integration - 哪些构建服务器可以与 NAT 后面的工作人员一起运行?

我正在寻找构建服务器,自动化服务器的持续集成,这些服务器可以具有位于 NAT 之后的客户端(工作人员)并且需要对客户端进行非 root访问。

这意味着工作是连接到服务器并要求新工作的人,而不是相反的人。

我知道应该可以设置 VPN 或反向 ssh 解决方案,但这超出了这个问题的范围。我只是在寻找简单的设置。

0 投票
2 回答
4708 浏览

build-server - TFS 构建代理已停止

我有一个正在运行的构建机器的问题,代理突然不想启动。如果启动本地控制器,它是遥控器的一部分,用于解决此问题。症状是,代理初始化正确(显示“就绪”),但图标已停止,并且状态区域显示“BuildController 在 1 分钟内未启动。运行构建服务的 AD 帐户在另一台构建机器上工作(单独的控制器 + 构建代理)。我试过以下

  • 重新安装构建服务
  • 使用机器名、完全限定域名和端点地址的 IP 地址运行
  • 未注册和重新注册的构建服务
  • 重新启动
  • 使用脚本清理构建代理注册

如果我将运行构建服务的服务帐户更改为我自己的 AD 帐户,它就可以工作。但是,在我们的专用构建用户下运行会在这台特定的机器上失败,而在另一台机器上则不会。有什么建议该怎么做吗?这是事件日志中的错误:

0 投票
1 回答
506 浏览

tfs - TypeMock 7 和构建服务器配置

我们想升级我们的构建服务器以运行我们的 typemock 测试,但是我在正确配置它并找到有关此的正确信息时遇到了一些麻烦。我们的设置是 TFS2010,有 20 多个项目,每个项目从 TypeMock 5.x 到 6.2.2 运行。所有构建定义都是基于 msbuild 的,因为我们正在等待 TypeMock 使用我们的工作流模板(除了本文的范围之外)。现在,我已经在构建服务器上安装了 Isolator 7.0,但我似乎无法弄清楚我们如何使 typemock 工作。我有各种各样的问题。

  1. 由于 TypeMock 安装在构建服务器上,我希望我不必向源代码管理添加任何额外的程序集并引用它们。但这些程序集似乎不在 GAC 中 - 为什么不呢。
  2. 由于安装了 TypeMock,我希望我不需要使用许可信息在 msbuild 中调用注册(或发布)目标 - 这是正确的吗?
  3. 我需要支持从 5.x 到 6.2.2 的各种版本的 TypeMock,但在构建服务器上安装了 7.0。我需要源代码控制 pr 中的任何版本特定程序集吗?项目和哪个?
  4. 当我们在服务器上有 7.0 并且在客户端上有 6.2.2 时,推荐使用 typemock 和 msbuild 团队构建 def 的方法 - 安装什么以及在哪里安装源代码控制中的程序集等等。

我已经阅读了 TypeMock 网站上的所有文档,但仍然无法正确配置。