也许奇怪的问题。我们有许多内部编写的简单实用程序,需要在自动化的基础上运行。这些是不是构建作业。只需运行SendOutHourlyEmailAlarms.exe
,KeepFoldersInSynch.exe
等等。我通常将这些事情设置为简单的计划任务/ AT命令(如果需要对调度进行更精细的控制,则为Windows服务),但是同事已经在CruiseControl上设置了许多这些任务作为构建项目。 NET服务器。我问他为什么以这种方式设置这些并且他的响应是执行(及其日志,返回值,抛出的异常)都被跟踪和记录,并且这些信息可以通过构建服务器网站上的有组织的界面访问。我无法与此争论。
但这只是一种我无法辨认的气味。这是CruiseControl.NET的正确使用吗?如果没有,危险是什么?即使它可能适合该法案,是否还有其他产品更适合这种类型的东西?
答案 0 :(得分:6)
我们有各种非构建相关的任务,原因与您的同事完全相同,我希望有一个地点可以查找我需要的所有工作。
我们的CC.NET项目的一些例子:
远程QA的FTP安装程序
创建源代码文档
使用安装程序创建VM 早上安装QA
存档安装程序
我必须不止一次手工完成任何事情,成为一个项目。恕我直言,由于其他原因,它比计划任务要好得多。我们的配置文件在源代码管理中,因此我们有一个地方可以进行调整。我们不必登录多个服务器并进行调整或者想知道哪个服务器做到了这一点。
答案 1 :(得分:2)
我认为你的同事已经提出了一个很好的论据。如果这些任务与开发过程相关,那么将它们作为项目放在CruesControl.Net中似乎是可以接受的。我会利用开发服务器来运行生产流程。虽然“如果你拥有的唯一工具是锤子,你往往会把每个问题视为一个钉子”,但这并不意味着锤子不能解决很多问题!
答案 2 :(得分:1)
仅仅因为工具被设计用于解决特定问题并不意味着它不会在解决工具创建者最初认可的范围之外的类似问题方面具有相同的便利性。如果CruiseControl.NET很好地解决了这些问题,那么它绝对是适合使用的工具。