1

我一直在努力让我支持的应用程序能够比手动更自动地构建和部署。我的团队使用 RTC 来存储代码(不是我的选择,如果我说我们会使用 TFS,或者地狱,Subversion),显然他们使用 Build Forge 来构建和部署 Java 应用程序。据我了解,buildforge 只是编排所有内容并运行脚本来执行实际的构建和部署任务。

现在,我一直在使用 powershell 脚本来构建和部署我的代码。我似乎无法在网上找到任何关于如何实际集成我已经用这个工具完成的任何事情的信息?只是来自 IBM 的很多关于该工具有多棒的绒毛作品?

是否有关于使用 BuildForge 自动化 .net 应用程序的好教程?

4

2 回答 2

1

powershell 和 BF 的问题是 BF 如何捕获输出。代理捕获 posix 等效的标准输出,但是 powershell 对输出句柄做了一些奇怪的事情,并且输出没有正确地返回到代理中。结果,没有返回到代理的输出,并且该步骤超时。对 7.1.3 行中的控制台代码进行了修复,这可能会阻止步骤超时的发生(在某些情况下,代理没有正确地将心跳发送回控制台)。如果不是(我不是 powershell 用户),那么可以使用包装器来解决这个问题,但这并不明显也不是微不足道的。

是的,BF 是一款出色的多平台自动化工具,但它与您制作的构建工具一样好。它附带了针对几个不同的 SCM 系统进行真正 CI 的部件和文档。条件步骤也使得完全不需要使用适配器来使用 BF 进行真正的 CI。它具有使其成为(几乎)任何环境的出色构建工具的所有要素。

来源:我是 BF 产品的构建工程师。

于 2014-01-29T04:58:38.237 回答
1

这正是我不喜欢 BuildForge 的原因。这是一个很棒的跨平台、多主机编排器,但它并没有真正“构建”任何东西。我在一家公司工作了几年,我们在一台服务器上有大约 800 个项目,在另一台服务器上有 800 个项目。我们发现,如果我们将所有构建步骤都写入 BuildForge,我们就会杀死数据库。因此,我们有一个通用库,它通过调用 NAnt 来完成大部分工作。MSBuild 也是一个不错的选择,但当时 NAnt 更加成熟。

我们每年在 60 台虚拟机上运行 100,000 次构建。我们有一个构建步骤,它与 VSphere 服务器对话以重置 VM,等待它重新联机,然后在其上运行构建。

我还曾在另一家使用 AStarTeam 进行源代码控制和 BuildForge 进行构建的公司工作。我建立了一个 TFS 服务器并编写了一个 Get 扩展来从 StarTeam 中提取代码。然后我创建了打包 TFS 构建的 BuildForge 项目。据开发人员所知,他们仍将使用 ST 和 BF,但实际上我获得了 TFS 的所有 Workflow/MSBuild 功能,并且他们有可能在一天内移动源代码并成为所有 TFS。

所以是的,BF 上没有一个 .NET 教程,因为这完全取决于你想怎么做。Perl、PowerShell、NAnt、MSBuild 等。

于 2014-01-28T01:47:00.653 回答