[BuildRelease Management]CC.NET架构
一 CC.NET的操作流程
1) 等待Trigger的唤醒;
2)从Source Control System查询上次build以后的修改列表;
3)如果任何修改被发现或是Trigger触发类型为 'force the build' :
3.1)为build产生一个label number;
3.2)按照prebuild tasks的指定顺序运行prebuild tasks,如果有error则终止build;
3.3)从Source Control System获得source code;
3.4)按照build tasks的指定顺序运行build tasks,如果有error则终止build;
3.5)如果需要对Source Control System的repository进行label;
3.6)运行publisher tasks;
4)返回1)重新循环;
执行过程的源代码,参考:
\trunk\project\core\Project.cs
\trunk\project\core\IntegrationRunner.cs
二 CC.NET的主要部件
三 CC.NET的扩展
可以使用如下方式对CC.NET的功能扩展:
1)PlugIn,是对build过程的自定义和扩展,需要实现ITask接口,需要在project的config文件中引用;
2)Extension,是对CC.NET本身的功能的扩展,需要实现ICruiseServerExtension接口,需要修改ccnet.exe.config或ccservice.exe.config来引用extension;
四 CC.NET扩展的主要接口
完!