我一直在努力使我支持的应用程序能够更自动地构建和部署,而不是手动构建和部署。我的团队使用RTC来存储代码(不是我的选择,如果我说我们会使用TFS,或者地狱,Subversion),显然他们使用Build来构建和部署Java应用程序。据我所知,buildforge简单地编排了一切,并运行脚本来执行实际的构建和部署任务。
现在,我一直在开发powershell脚本来构建和部署我的代码。我似乎在网上找不到任何关于如何实际集成我已经用这个工具做的任何事情的信息?只是从IBM获得了大量关于这个工具有多棒的片段吗?
在任何地方都有关于用.net自动化BuildForge应用程序的好教程吗?
发布于 2014-01-28 01:47:00
这正是我不喜欢BuildForge的原因。这是一个伟大的跨平台,多主机协调,但它并没有真正“构建”任何东西。我在一家公司工作了几年,我们在一台服务器上有大约800个项目,在另一个服务器上有800个项目。我们发现,如果我们将所有构建步骤都写入BuildForge中,我们就会杀死数据库。因此,我们有一个公共库,它通过调用NAnt来完成大部分工作。MSBuild也是一个不错的选择,但当时NAnt更成熟。
我们每年在60台虚拟机上运行10万次构建。我们有一个构建步骤,它与VSphere服务器进行了对话,以重置VM,等待它重新联机,然后在其上运行构建。
我还为另一家使用AStarTeam进行源代码管理和使用BuildForge构建的公司工作。我设置了一个TFS服务器,并编写了一个Get扩展来从StarTeam中提取代码。然后,我创建了包装TFS构建的BuildForge项目。据开发人员所知,他们仍将使用ST和BF,但实际上,我获得了TFS的所有Workflow/MSBuild功能,有可能将源移动超过一天,成为所有TFS。
所以,在BF上没有一个关于.NET的教程,因为这完全取决于你想要怎样做。Perl,PowerShell,NAnt,MSBuild等。
发布于 2014-01-29 04:58:38
powershell和BF的问题是BF如何捕获输出。代理捕获了与stdout等价的posix,但是powershell对输出句柄做了一些奇怪的操作,并且输出没有正确地返回到代理中。因此,没有输出返回到代理,并且步骤超时。在7.1.3行中对控制台代码进行了修复,这可能会防止步骤超时的发生(在某些情况下,代理没有正确地将心跳发送回控制台)。如果不是(我不是powershell用户),那么使用wrappers是有办法的,但这不是显而易见的,也不是微不足道的。
是的,BF是一个伟大的多平台自动化工具,但它只是一个好的构建工具,因为你做它。它附带了针对几个不同的SCM系统执行实际CI的片段和文档。条件步骤也使得没有必要使用适配器来对BF做真正的CI。它有所有的部分,使它成为一个伟大的构建工具(几乎)的任何环境。
资料来源:我是BF产品的建造工程师。
https://stackoverflow.com/questions/21395250
复制相似问题