CruiseControl.Net学习记录
一、下载
官网
二、安装
本文版本:1.8.5.0
运行安装程序,按照提示"下一步”,直到完成即可。
安装完毕之后,
生成一个windows服务,CruiseControl.NET Server ;
生成一个webdashboard网站(可自行在IIS中配置)。
三、启动
在服务管理控制台,启动服务CruiseControl.NET Server;也可以不启动windows服务,而采用ccnet.exe控制台程序,需以管理员身份运行。
在IIS中配置启动webdashboard站点。
四、配置
在server目录中的ccnet.config文件中进行项目配置。
github(git协议)
1 <cruisecontrol xmlns:cb="urn:ccnet.config.builder"> 2 3 <project name="ccnet.test" description="ccnet.test"> 4 <!--项目编译状态信息的保存位置--> 5 <state type="state" directory="E:\CCNet\State" /> 6 <!--对这个项目的监控过程的日志记录目录--> 7 <artifactDirectory>E:\CCNet\BuildArtifacts\ccnet.test</artifactDirectory> 8 <!--源代码控制系统--> 9 <sourcecontrol type="git"> 10 <repository>git://github.com/shashoutian/ccnet.test.git</repository> 11 <branch>master</branch> 12 <executable>E:\ProgramFiles\Git\cmd\git.exe</executable> 13 <committerName>shashoutian</committerName> 14 <committerEMail>shashoutian2008@126.com</committerEMail> 15 <workingDirectory>D:\Projects\GitProjects\ccnet.test</workingDirectory> 16 </sourcecontrol> 17 <!--配置具体执行的任务--> 18 <tasks> 19 <exec> 20 <!-- if you want the task to fail, ping an unknown server --> 21 <executable>ping.exe</executable> 22 <buildArgs>localhost</buildArgs> 23 <buildTimeoutSeconds>15</buildTimeoutSeconds> 24 <description>Pinging a server</description> 25 </exec> 26 27 <!--msbuild任务配置,用来编译项目--> 28 <msbuild> 29 <!--MSBuild.exe的路径--> 30 <executable>C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe</executable> 31 <!--源代码的存放位置,不配置的时候为默认值 --> 32 <workingDirectory>D:\Projects\GitProjects\ccnet.test\CCNet.Test</workingDirectory> 33 <!--要编译的项目名称 --> 34 <projectFile>CCNet.Test.sln</projectFile> 35 <!-- MSBuild编译时的参数,具体参数信息可以查看MSDN上的说明--> 36 <buildArgs>/p:VisualStudioVersion=14.0;Configuration=Debug;OutputPath=E:\Publish\ccnet.test /v:diag</buildArgs> 37 <!--编译目标--> 38 <targets>Build</targets> 39 <!--超时时间--> 40 <timeout>900</timeout> 41 <!--日志记录模块--> 42 <logger>E:\ProgramFiles\CCNet\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger> 43 </msbuild> 44 45 <!--发布和部署配置--> 46 <buildpublisher> 47 <sourceDir>E:\Publish\ccnet.test\_PublishedWebsites\CCNet.Test</sourceDir> 48 <publishDir>E:\Publish\ccnet.test\_PublishedWebsites\CCNet.Test</publishDir> 49 <useLabelSubDirectory>false</useLabelSubDirectory> 50 <alwaysPublish>false</alwaysPublish> 51 </buildpublisher> 52 </tasks> 53 </project> 54 55 </cruisecontrol>
gitlab(ssh协议)
1 <cruisecontrol xmlns:cb="urn:ccnet.config.builder"> 2 <!-- This is your CruiseControl.NET Server Configuration file. 3 Add your projects below! --> 4 <project name="Disney" description="Disney ManageWeb"> 5 <!--分类--> 6 <category>后台系统</category> 7 <!--日志目录--> 8 <state type="state" directory="C:\CCNet\State" /> 9 <artifactDirectory>C:\CCNet\BuildArtifacts\Disney</artifactDirectory> 10 <!--源码控制--> 11 <sourcecontrol type="git"> 12 <repository>git@gitlab.mtime-dev.com:partner/disney-mw.git</repository> 13 <branch>develop</branch> 14 <executable>C:\Program Files (x86)\Git\cmd\git.exe</executable> 15 <workingDirectory>D:\GitProjects\partner\abc</workingDirectory> 16 </sourcecontrol> 17 <!--任务--> 18 <tasks> 19 <exec> 20 <!-- if you want the task to fail, ping an unknown server --> 21 <executable>ping.exe</executable> 22 <buildArgs>localhost</buildArgs> 23 <buildTimeoutSeconds>15</buildTimeoutSeconds> 24 <description>Pinging a server</description> 25 </exec> 26 <!--编译项目--> 27 <msbuild> 28 <executable>C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe</executable> 29 <workingDirectory>D:\GitProjects\partner\abc\Disney.Manage.Web</workingDirectory> 30 <projectFile>Disney.Manage.Web.csproj</projectFile> 31 <logger>E:\ccnet\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MSBuild.dll</logger> 32 <targets>Build</targets> 33 <timeout>900</timeout> 34 <!--/p 最后一对属性值后面不需要分号(切记)--> 35 <buildArgs>/p:OutputPath=E:\BuildOutput\disney;Configuration=Release;Platform=AnyCPU</buildArgs> 36 </msbuild> 37 <!--发布到站点--> 38 <buildpublisher> 39 <sourceDir>E:\BuildOutput\disney</sourceDir> 40 <publishDir>E:\websites\disney\</publishDir> 41 <useLabelSubDirectory>false</useLabelSubDirectory> 42 </buildpublisher> 43 </tasks> 44 <publishers> 45 <xmllogger /> 46 <artifactcleanup cleanUpMethod="KeepLastXBuilds" cleanUpValue="50" /> 47 </publishers> 48 </project> 49 </cruisecontrol>
五、配置节点详解
六、需要注意的问题
1、ccnet的webdashboard站点基于.net2.0运行;
2、ccnet通过git控制源代码时,需要首先确保在cmd命令行中可以执行git的各个命令,即需要配置环境变量Path:安装目录\Git\cmd,如 E:\ProgramFiles\Git\cmd;
3、使用github时,在ccnet.config中sourcecontrol节点的repository需采用git协议,而不是http协议和ssh协议,并且git协议获取的文件是只读的(待确认);如
<repository>git://github.com/shashoutian/ccnet.test.git</repository>
七、参考资料
使用CruiseControl.Net全面实现持续集成
.NET环境下每日集成系列
使用CruiseControl.NET进行自动化构建总结
每日集成CruiseControl.NET + SVN + Msbuild + NAnt
项目管理实践三、每日构建【Daily Build Using CruiseControl.NET and MSBuild】
转载于:https://www.cnblogs.com/wangwangfei/p/5695993.html
CruiseControl.Net学习记录相关推荐
- Pytorch学习记录-torchtext和Pytorch的实例( 使用神经网络训练Seq2Seq代码)
Pytorch学习记录-torchtext和Pytorch的实例1 0. PyTorch Seq2Seq项目介绍 1. 使用神经网络训练Seq2Seq 1.1 简介,对论文中公式的解读 1.2 数据预 ...
- HTML5与CSS3权威指南之CSS3学习记录
title: HTML5与CSS3权威指南之CSS3学习记录 toc: true date: 2018-10-14 00:06:09 学习资料--<HTML5与CSS3权威指南>(第3版) ...
- springboot @cacheable不起作用_Springboot学习记录13 使用缓存:整合redis
本学习记录的代码,部分参考自gitee码云的如下工程.这个工程有详尽的Spingboot1.x教程.鸣谢! https://gitee.com/didispace/SpringBoot-Learnin ...
- 【Cmake】Cmake学习记录
Cmake学习记录 1.1 常例 add_library(gen_reference_infogen_reference_info/gen_reference_info.hgen_reference_ ...
- ASP.NETCore学习记录(一)
ASP.NETCore学习记录(一) asp.net core介绍 Startup.cs ConfigureServices Configure 0. ASP.NETCore 介绍 ASP.N ...
- Android开发技术周报176学习记录
Android开发技术周报176学习记录 教程 当 OkHttp 遇上 Http 2.0 http://fucknmb.com/2018/04/16/%E5%BD%93OkHttp%E9%81%87% ...
- add函数 pytorch_Pytorch学习记录-Pytorch可视化使用tensorboardX
Pytorch学习记录-Pytorch可视化使用tensorboardX 在很早很早以前(至少一个半月),我做过几节关于tensorboard的学习记录. https://www.jianshu.co ...
- java之字符串学习记录
java之字符串学习记录 public class StringDemo { public static void main(String[] args) { //静态初始化字符串 String s1 ...
- Redis的学习记录
Redis的学习记录 1.先导了解 1.1 NOSQL概述 1.1.1 为什么要用NoSql? 1.1.2 NoSql了解 1.1.3 NoSql特点 1.1.4 NoSQL的四大分类 2. Redi ...
最新文章
- 宏基因组分析软件2综述、metaSPAdes、IDBA-UD、MetaQuast、Prokka、metaProdigal
- 建站之前做好规划方案会为网站带来意外之喜
- 【转载】中文输入法下onKeyPress不能触发的问题
- LeetCode-剑指 Offer 32 - I. 从上到下打印二叉树
- 【专栏原创]】忘掉一切,从用户场景出发——我在需求上犯过的错
- 20个Pandas数据实战案例,干货多多
- 洛谷 P1019 单词接龙
- com.alibaba.fastjson.JSONObject cannot be cast to XXX异常解决
- thinkphp 相关
- java xml 空节点_java:利用xpath删除xml中的空节点
- 360显示服务器不可用,谢瑾:autodesk360服务不可用
- Log4j2 日志级别
- 计算机网络实验四协议分析心得,计算机网络学习心得体会范文
- armbian 下载加速
- Python学习---根据excel的内容自动批量修改excel名称
- 云开发实现小程序获取服务器时间并显示 如:淘宝下单时间
- day1-python猜单词游戏
- 新造车热闹时,传统车企们却正在加码另一个新故事
- Flash/Flex学习笔记(38):动量守恒与能量守恒
- PostGIS教程十三:地理