CCNET自动构建之路
人永远追求效率(想偷懒),不想手动编译项目、发布站点于是产生了自动构建技术,.NET领域中CCNET是个不错的选择。
一路问题不少,记录一下。
- 准备环境
- 服务器上需要有iis、vs(与开发环境的版本一致)。
- 安装svn,如果是TortoiseSVN,安装时记得选择安装命令行。
- 安装CCNET,下载地址:http://build.nauck-it.de/download/CruiseControl.NET-package/1.8.5.0/。
- 可能出现的问题:
- 没有自动在iis上创建站点。我安装时也出现这个问题,原因是文件访问权限不够,没有仔细看是要哪个用户,直接把C:\Program Files (x86)\CruiseControl.NET这个目录给了everyone读写权限,问题解决。然后手动创建站点,站点物理路径:C:\Program Files (x86)\CruiseControl.NET\webdashboard。
- 站点未正常运行。访问刚刚创建的站点有可能出现这样的错误:由于目标计算机积极拒绝,无法连接,127.0.0.1:21234。如果按上面的步骤给了足够的权限仍出现这样的问题,那只能是因为没有启动CruiseControl.NET,运行起来吧!
- 配置
- 配置文件在C:\Program Files (x86)\CruiseControl.NET\server\ccnet.config
- 配置说明:
1 <cruisecontrol xmlns:cb="urn:ccnet.config.builder"> 2 <!--定义项目--> 3 <project name="MentenApi"> 4 <artifactDirectory>D:\xx\xx</artifactDirectory><!--对应的日志会写到这里--> 5 <!--配置代码源,这里用的是svn--> 6 <sourcecontrol type="svn"> 7 <executable>C:\Program Files\TortoiseSVN\bin\svn.exe</executable><!--svn的位置,安装TortoiseSVN时记得选择安装命令行--> 8 <username>test</username><!--svn用户名--> 9 <password>123456</password><!--svn密码--> 10 <autoGetSource>true</autoGetSource> 11 <trunkUrl>https://x.x.x.x/xx</trunkUrl><!--源代码位置--> 12 <workingDirectory>D:\xx\xx</workingDirectory><!--获取代码的存放位置--> 13 </sourcecontrol> 14 <!--触发器--> 15 <triggers> 16 <intervalTrigger seconds="300" /> 17 </triggers> 18 <!--要执行的任务--> 19 <tasks> 20 <!--编译--> 21 <msbuild> 22 <executable>C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe</executable><!--MSBuild的位置(视.NET的版而定)--> 23 <buildArgs>/p:OutputPath=D:\xx\x1</buildArgs><!--给MSBuild指定参数,这里指定的编译后的输出目录--> 24 <workingDirectory>D:\xx\xx</workingDirectory><!--通过svn获取下来的代码位置,与上面sourcecontrol\workingDirectory的值一致--> 25 <projectFile>xx.sln</projectFile><!--指定解决方案文件--> 26 <targets>Build</targets> 27 <timeout>600</timeout><!--编译超时时间,单位秒--> 28 </msbuild> 29 </tasks> 30 </project> 31 </cruisecontrol>
配置
- 为了验证自己的配置文件写的对不对,可以使用C:\Program Files (x86)\CruiseControl.NET\server\CCValidator.exe检查。
- 看效果
- 访问ccnet站点,如果一切正常的话,上面会显示刚刚配置的项目。可以在这里直接手动启动编译。
- 当然,事情不会那么简单,不出意外的话,Force后会告诉你编译失败,具体的原因可以点击左侧链接查看。
- 可能出现的问题:
- 系统找不到指定的文件。这个时候需要确认是否正确安装了svn、vs。
- 编译不通过。可能是使用了NuGet管理dll,需要下载缺少的dll,或者是服务器上没有对应的MVC环境,安装下就好。
- 最后
- 一切正常后,可以在编译后的输出目录中找到编译后的文件,同时这个目录下的_PublishedWebsites文件夹也会产生编译好的站点了。
转载于:https://www.cnblogs.com/hnlong1/p/4664978.html
CCNET自动构建之路相关推荐
- .net 基于Jenkins的自动构建系统开发
先让我给描述一下怎么叫一个自动构建或者说是持续集成 : 就拿一个B/S系统的合作开发来说,在用SVN版本控制的情况下,每个人完成自己代码的编写,阶段性提交代码,然后测试-修改,最后到所有代码完工,进行 ...
- gitlab 自动推送代码到gitee_Gitlab 利用 Webhook+jenkins 实现自动构建与部署
之前部署了Gitlab的代码托管平台和Jenkins的代码发布平台.通常是开发后的代码先推到Gitlab上管理,然后在Jenkins里通过脚本构建代码发布. 这种方式每次在发版的时候,需要人工去执行j ...
- 地平线机器人_地平线机器人CEO余凯:基于深度学习的自动驾驶之路
请关注公众号"汽车创新港",获取后续更多论坛实录! 加工作人员微信号:tinydanio,备注"我要入群"直接进入直播群! 今天都是大牛,下面的也是技术大牛,是 ...
- 红帽资深解决方案架构师魏新宇:云原生应用构建之路
魏新宇 读完需要 7 分钟 速读仅需 3 分钟 魏新宇,红帽资深解决方案架构师.在 IaaS.PaaS 方面有丰富的经验,致力于开源解决方案在企业中的推广和应用.从售前角度主导了红帽在金融.汽车行业的 ...
- dotnet 配置 Gitlab 的 Runner 做 CI 自动构建
今天在少珺小伙伴的协助下,使用了 gitlab 的 runner 给全组的项目做自动的构建.为什么需要使用 Gitlab 的 Runner 做自动构建,原因是之前是用的是 Jenkins 而新建一个底 ...
- 驭势科技CEO吴甘沙:探索中国式的自动驾驶之路
本文根据吴甘沙在ADAS与自动驾驶趋势论坛上的发言修正. 大家好!我演讲的题目叫做"探索中国式的自动驾驶之路".非常荣幸能够来到这么一个论坛,其实这也是我作为一个传统的IT人第一次 ...
- 人工智能 | MATLAB 的自动驾驶之路
自动驾驶是目前比较热门的话题,包含的技术领域五花八门,例如:雷达.摄像头.汽车电控.激光雷达.物体识别.高精度地图.导航技术等等.让我们一起来聊一聊 MathWorks 这几年的自动驾驶之路,分享最新 ...
- 仿nuxt.js,自动构建路由,释放你的双手?!
前言 写过nuxt.js的同学,肯定也对nuxt的路由规则有一定的了解,在pages目录下创建文件,即可以自动构建路由,本文来带领大家实现一下在vue里怎么去自动构建路由.我这里使用的是Vue-cli ...
- iOS应用模块化的思考及落地方案(二)模块化自动构建工具的使用
1.0 iOS模块化中的问题 前文已经介绍了模块化的流程及一些常见的问题,我们在这里再次总结一下. 在工作中,当我们开始一个新项目的时候,最先考虑的就是模块化工作. 模块化工作的想法是很美好的,可是执 ...
最新文章
- 网线传输速度测试_弱电工程CAT5eCAT6CAT6aCAT7网线怎么选择
- python读取图片属性信息
- redis重启会清除数据吗_从零开始手写 redis(三)内存数据重启后如何不丢失?...
- 第十章 使用机器学习的建议-机器学习老师板书-斯坦福吴恩达教授
- 【算法基础】数据结构导论第四章-树.pptx
- PHP代码审计中你不知道的牛叉技术点
- C++unique函数应用举例
- 线性表的顺序表示以及实现
- COPAN为政府机构提供低成本、高效节能的数字归档方案
- nginx 支持php扩展,Nginx和php安装及配置五之LINUX用PHPIZE安装PHP GD扩展
- 高仿小红书引导页实现效果
- 软件有效期如何实现_足疗洗浴收银软件如何实现跨店管理?
- layui select下拉框选项不显示
- 中国能源统计年鉴面板数据-分省市主要污染物排放指标(包含ECXEL2020年中国统计年鉴)
- iPython的安装过程
- Oracle执行计划——查看执行计划的方法
- 沙普利算法java实现_Java实现婚姻稳定匹配Gale- Shapley算法
- 全国快递物流查询-快递查询接口-阿里云代码封装
- 笔记本电脑桌面便签哪个软件好用,桌面便签软件下载
- Android开发音乐播放器