首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用依赖项跨Linux和Windows平台同步CruiseControl项目

使用依赖项跨Linux和Windows平台同步CruiseControl项目
EN

Stack Overflow用户
提问于 2008-11-12 04:53:46
回答 2查看 1.3K关注 0票数 4

我有一个多平台应用程序集,一些应用程序在Linux上运行,另一些在Windows上运行。我想要完成以下构建:

服务器L与项目A一起运行CruiseControl,这是一个仅用于Linux的服务器应用程序。这应该首先构建。

如果项目A成功构建,它需要以某种方式启动...

项目B是一个运行在服务器W上的纯Windows客户端应用程序,带有CruiseControl.NET项目B,它包括一些单元测试,其最终效果是在服务器数据库中生成一些数据。项目B大约需要10分钟来构建和执行测试。

如果项目B成功构建,则一直在耐心等待的服务器L将启动项目C,其中包含一些用于查找和验证项目B生成的数据库条目的测试用例。

你有什么建议吗?我该怎么做?我发现了this link,但它的目标似乎是在多个平台上构建相同的代码库,而不是依赖。

当然,一定有人在某个时候做过这样的事情?

EN

回答 2

Stack Overflow用户

发布于 2008-11-12 06:54:35

让项目A构建是很简单的。在发布阶段,将文件写入网络驱动器。

项目B可以使用文件系统源代码控制块来监控网络文件系统,并基于项目A的更改触发构建。完成后,它会将另一个文件写入文件系统(不同的目录)。

项目C正在使用文件系统源代码控制来监视项目B的更改。

一切都很简单。

如果没有共享文件系统,还可以使用ftp、scp或http来移动触发器文件。

如果您愿意,可以使用web接口触发构建,从项目A和项目B发布阶段调用。

Wrt评论中的问题,您可以通过两种不同的方式获取有关项目B失败(至少)的信息。

一种是在CC下有一个项目B,作为远程项目B的代理。远程项目B将在发布阶段写入一个文件,并在文件中指出它是通过还是失败。proxy-B项目将监视该文件,并在其“构建”阶段读取该文件,并根据内容通过或失败。项目C现在只使用CC的BuildStatus元素监控proxy-B。

解决这个问题的另一种方法是将CC.net下的项目B替换为CC的DistributedBuilder,后者使用JavaSpaces将构建分发到远程代理:http://confluence.public.thoughtworks.org/display/CC/Using+distrib+from+the+CruiseControl+contrib

在分布式方法中,项目B仍然在windows机器上运行,但是DistributedBuilder将远程运行脚本,然后将结果带回CC服务器。

票数 2
EN

Stack Overflow用户

发布于 2009-06-11 13:17:22

你是在混用CruiseControl和CruiseControl.Net吗?对于只有CruiseControl.Net的设置,只需使用Project Trigger即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/283084

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档