在Operation flow of CCNet常见问题解答中记录的CruiseControl.NET操作流程,其中首先生成标签使得某些感知集中式VCS,但对于DVCS而言则不然。使用DVCS,最好在获取源之后生成标签,因为标签可能需要源本身(例如,Mercurial中的.hgtags
文件或其他本地源文件用于计算版本和构建数字。)
有没有人想办法在获取源码后运行CCNet贴标机?
答案 0 :(得分:3)
我们没有在CC.NET中使用Labeller,但是,我们的方法也可能对您有用:
然后您的真实项目包括Labeller任务,并且由于之前完成了Mercurial结账,Labeller应该生成"权利"标签
亲切的问候 弗兰克
答案 1 :(得分:0)
在源控制任务之后无法执行贴标签任务。但是,如果标签源数据专门存储在本地工作目录中,则只需要这样做。您说您的标签源是版本控制的,因此您应该使用贴标机,而不是从版本控制中检索它。
大多数版本控制系统都有一个命令行,允许您从stdout读取文件内容。 CCNet标签器易于编写和部署。您可以直接从源中获取获取最新版本信息所需的命令行和参数。
<labeller type="svnLabeller">
<svn>C:\Program Files (x86)\svn\bin\svn.exe</svn>
<repository>https://path.to/project</repository>
<versionInfoPath>/AssemblyInfo.cs</versionInfoPath>
</labeller>