在cc.net中,大多数暂存项目都配置为基于代码签入构建,但有时我们会出于某种原因阻止它们以防止新构建。问题是,有时不清楚,为什么项目被停止,所以我们想通过点击停止按钮来保存原因。是否可以通过配置cc.net/writing自定义扩展来添加此类功能?
答案 0 :(得分:0)
我已经做到了,看起来很丑陋而且公平 - 这很糟糕。
我所做的工作分为两部分:
1)插件部分,它实现IPlugin
接口有两个动作:显示和保存,我认为名称是非常具有描述性的 - 一个读取请求参数并保存到文件,其他读取文件并返回数据以供显示。
2)UI部分。我编辑了两个视图模板(ProjectReport.vm和ProjectGrid.vm)以包含用于停止按钮的jQuery事件处理程序,在提交表单之前显示带有文本区域的jQuery UI对话框以停止原因并使用我的插件保存它。只要jQuery和jQuery UI已经在cc.net中使用并不是一个大问题(它仍然存在一些问题,因为我们使用相当旧的cc.net版本,所以jQuery已经过时了)。
在cctray停止项目由于某种原因不起作用,所以我没有花时间改变它。
总的来说,看起来crucontrol.net试图使插件友好的架构,但实际上很难以我希望的方式扩展它而不用黑客和使用可疑的实现。加上文档非常薄弱,我不得不使用源代码来理解如何编写插件,这很费时间。 cc.net中的安全模型也很奇怪。