CCNET+MSBuild+SVN实现每日构建】的更多相关文章

最近开始将源代码迁移到SVN,于是便考虑到如何从SVN定期获取源码,自动编译并部署以减轻工作量并提高工作效率.通过多方搜集资料并进行研究,基本实现了这个功能.对于每日构建的概念就不具体展开了,可以在各大论坛找到答案.这篇文章主要给大家介绍下CCNET(CruiseControl.NET)的安装配置过程以及针对AOS项目的构建全过程.还有很多问题点没有深入研究,欢迎大家跟帖讨论. CCNET主要包括两部分,一是Server用来配置项目和监视文件修改,二是WebDashboard,是显示项目信息及编…
本文不是介绍如何使用CCNET+MSBuild+SVN构建自动编译系统,相关的内容可以从很多地方获取,可以再园子里搜一下. 随着我们的SVN库日益壮大,容量达到10G,几十G 甚至更大时,我们发现自动构建速度越来越慢,直到有一天你发现入了很小一段代码却不得不等待几小时构建完成,程序员的忍受是有极限的,因此我们决定采取措施实施优化. 首先,我们必须分析哪些因素导致了我们构建速度的减慢,罗列一下,大概如下几个方面: 1. SVN库太大,使得构建服务器在更新SVN代码时花费大量时间. 2. SVN库里…
在上一篇项目 管理实践教程二.源代码控制[Source Control Using VisualSVN Server and TortoiseSVN]中 我们已经讲解了如何使用TortoiseSVN和VisualSVN Server来做简单的版本控制,这一篇我们将会讲解使用CruiseControl.NET和MSBuild来搭建每日构建系统. 在第一篇项目 管理实践教程一.工欲善其事,必先利其器[Basic Tools] 中我们已经安装了CruiseControl.NET 1.4,因为我们还要用…
在上一篇项目管理实践教程二.源代码控制[Source Control Using VisualSVN Server and TortoiseSVN]中我们已经讲解了如何使用TortoiseSVN和VisualSVN Server来做简单的版本控制,这一篇我们将会讲解使用CruiseControl.NET和MSBuild来搭建每日构建系统. 在第一篇项目管理实践教程一.工欲善其事,必先利其器[Basic Tools] 中我们已经安装了CruiseControl.NET 1.4,因为我们还要用到MS…
每日构建,对我们团队来说一个全新的概念.随着项目开发的进展,在开发过 程需要及时反馈一些BUG和功能要求的处理情况.而在这种情况下每天或隔一段时间Build一个版本,工作量还是比较大的,所以就特别有必要引入每日构建.关于每日构建,在园里有已经有很多 的文章了,特别是摩诘的<在.NET环境中实现每日构建(Daily Build)--NAnt篇>更 是从概念上和实践上手把手地介绍如果在.NET环境下实现每日构建.但很遗憾,在我实现每日构建之前没有看到这篇文章,错失了一次快速入门的机会, 不过感到庆…
前段时间研究flex工程自动编译的时候,遇到了阻碍,就放下了,直到今天每日构建的问题又一次给项目组带来了麻烦,于是我彻底愤怒了. 最后,我的怒火没有白费,写出来以发泄情绪. [基本原理]: adobe提供了每日构建的方法:利用ant任务以命令行的形式完全模仿flashbuilder/flashbuilder-plugin的[导出发行版]编译方式来编译. 此种方式编译出的swf的性能是最好的. 官方说明:http://help.adobe.com/zh_CN/Flex/4.0/UsingFlash…
Jenkins是一个可扩展的持续集成引擎,Jenkins非常易于安装和配置,简单易用,下面开始搭建.net持续集成环境 Jenkins和SVN安装这里就不介绍了 一.准备工作 1.Jenkins中系统管理-->管理插件-->可选插件中找到MSBuild Plugin, 安装插件 MSBuild Plugin,用来对.net项目的自动编辑用 说明:配置过程中有些功能需要先安装一些插件,都可以去管理插件中查找并安装 2.配置MSBuild(系统管理-->Global Tool Configu…
所要用到的主要插件: [MSBuild Plugin] 具体操作: 1.配置MSBuild的版本 [系统管理]->[Global Tool Configuration]->[MSBuild],点击[新增MSBuild]进行版本的添加,如下: 注意:其中Path to MSBuild为文件夹路径,代码要编译的那台机器的文件夹,如果绑定的是slave时,这个路径就代表这slave的路径 最后,点击[Save]完成保存. 2.新建项目进行测试 这里假设在要进行构建的机器上已经新建好项目,并放在“D:…
1,持续集成 概念:http://baike.baidu.com/view/5253255.htm,对于大多数人而言,自动构建/自动测试/自动部署,已经很发挥它的价值了.选择上: 推荐jenkins,一是它比较常见,二是它能跑在windows服务器上 CruiseControl有.net的版本,一进其官网看见醒目的文档过期提示,我就没有尝试的欲望了 gitlab ci的web界面清爽(比jenkins好看),但是只能跑在linux上,感兴趣的同学去试验吧,所以本文是讲的jenkins. 2,ms…
Jenkins是一个可扩展的持续集成引擎,Jenkins非常易于安装和配置,简单易用,下面开始搭建dotnet持续集成环境 一.准备工作 1.系统管理-->管理插件-->可选插件中找到MSBuild Plugin, 安装插件 MSBuild Plugin 2.配置MSBuild(系统管理-->Global Tool Configuration-->MSBuild安装) 参数填写说明: MSBuild Name 只是一个名称可以随便填,但建议填有点意义名称,例如:MSBuild_v4…
这一篇进入实战,走起.... 登录jenkins,如下图 点击上图中的“新建”按钮,进入下图 输入项目名称,选择“构建一个自由风格的软件项目”即可,点击“ok”,跳转到下图 svn源代码管理(选择代码管理器中的subversion) 构建触发器信息维护(什么时候down源代码到本地) 第一个的意思是远程触发构建,就是访问url的方式触发构建 第二个的意思是另一个项目构建完成后,进行构建 第三个的意思是定时去构建(不论源代码是否有新的commit) 第四个略过 第五个定期去构建(有新的commit…
一.Jenkins介绍 jenkins是一个广泛用于持续构建的可视化web工具,持续构建说得更直白点,就是各种项目的”自动化”编译.打包.分发部署.jenkins可以很好的支持各种语言(比如:java, c#, php等)的项目构建,也完全兼容ant.maven.gradle等多种第三方构建工具,同时跟svn.git能无缝集成,也支持直接与知名源代码托管网站,比如github.bitbucket直接集成. jenkins官网地址为https://jenkins.io/index.html,jen…
NAnt help:http://nant.sourceforge.net/release/latest/help/tasks/NAntContrib help:http://nantcontrib.sourceforge.net/nightly/latest/help/tasks/index.html 下面有贴出代码,下载链接http://download.csdn.net/detail/dfg727/66142311.Build .CS files:CSBat.batCSBuild.buil…
搭建好jenkins自动化构建之后,点击立即构建,即可将svn服务器上的源码自动编译构建,并打成war包,然后将这个war包以及编译好的项目复制到指定服务器的tomcat容器里,当svn服务器的代码有改动的时候,不用再重新编译.打包.部署和重启服务器,jenkins将自动将更改后的代码进行发布.部署.运行. 自动化构建之前,服务器上要装好JDK.maven和tomcat,方法自行百度,安装好jdk,配置环境变量就ok了(maven和tomcat不用配置环境变量,我用的版本是jdk1.8,mave…
Jenkins安装方法详解:https://www.cnblogs.com/lizhe860/p/9901257.html 一.安装maven插件 1.依次进入系统管理→插件管理→可选插件, 找到Maven Integration,并勾选,点击立即安装. 2.点击[新建任务],会发现多了一个选项,如下图. 二.全局工具配置 1.配置jdk 2.配置maven 三.新建maven项目 1.选择[构建一个maven项目] 2.配置SVN 3.构建触发器定时 Poll SCM(代码有更新时触发). B…
以下的配置就是,svn上的文件一旦有变动,一分钟后就会触发jinkens的job(构建)…
目的 之前是通过轮询的形式,2分钟更新一次svn,即时性不高,现在想要实现提交代码时直接触发构建 方案 使用svn的服务器hook,当有代码提交时请求jenkins api实现构建 具体实现 1.jenkins的准备 jenkins的用户管理中添加Token,token需要保存下来,后面无法查看 设置需要触发的构建任务,构建触发器勾选触发远程构建,设置一个自定义的令牌Token 2.svn hook 这里还是使用python去请求jenkins,创建python文件PostTouchJenkin…
在svn版本url后面加上“@svn版本号”,如@2105 原文:https://blog.csdn.net/jlminghui/article/details/40426849…
没有太难的技术含量,只要按照步骤操作就可以成功 step 1:全局工具配置git.exe 首先,登录 Jenkins ,在首页找到 “系统管理 -> Global Tool Configuration -> Git ” * Path to Git executable  填写本地的git.exe的安装路径 然后保存 step2 :创建新的项目 点击保存 step3 配置 git参数 *project url 填写 项目地址 Repository URL: 填写 GitHub 项目地址 cred…
CCNET目前最新版本为1.8.5,官方很久没更新过了,如果投入生成环境使用,建议全部转到Jenkins上. 可以直接在这里下载:http://www.cnblogs.com/EasonJim/p/5773328.html 如果在配置MSBuild的项目上,我建议在安装CCNET的服务器上安装VS,能节省很多项目Build时的错误解决时间. 包含软件: CruiseControl.NET-Tools(一些命令行工具和配置检查工具) CruiseControl.NET-CCTray(实时连接CCN…
Jenkins是Java语言编写的,一直好奇是否可以构建NET语言的项目,目前只了解到有一个插件MSBuild支持构建NET项目. 一.Jenkins安装插件MSBuild 二.VS构建CsharpHelloWorld CSharp 的console project代码如下: using System; namespace CSharpHelloWorld { class Program { static void Main(string[] args) { System.Console.Wri…
1  绪论 1.1 课题的研究背景 随着IT行业的不断发展,软件开发的复杂度也随着不断提高.与此同时,软件的开发团队也越来越庞大,而如何更好地协同整个团队进行高效准确的工作,从而确保软件开发的质量已经慢慢成为了开发过程中不可回避的问题. 在软件开发中,不同的功能模块一般由不同的开发成员负责,同一功能模块的各层代码也可能是不同的开发成员编写,经验告诉我们,模块之间的问题是最难解决的,也是最耗费时间的.它需要多个开发人员相互协作找出问题,而协作过程中的沟通所消耗的时间成本是相当高的.而且还可能因为沟…
地狱门神 在某些时候,我们可能需要一个存放二进制文件的SVN库,用来保存每日构建的结果等.但是这种库会趋于越来越大,最后会占用很多磁盘空间.这时我们会想到能不能删掉某个版本之前的所有版本,以节省磁盘空间.下面就提供一种方法来进行这件事情.注意:请保留必要的备份文件,防止数据丢失. 导出需要保留的版本svnadmin dump /path/to/repo -r620:626 > svn.dump 重命名原来的文件夹ren /path/to/repo /path/to/backup 创建新的repo…
一.MSBuild 在微软软件开发中,每日构建是最重要的过程之一,被称为微软产品开发的“心跳”.简单来看,每天构建系统将整个产品解决方案完整构建一遍,生成的目标文件和安装文件被放置在一个共享位置.接着,安装文件被自动部署到release server上,随后可以自动运行BVT(build verification test),并将所有结果寄送每个team member的信箱. 微软有一套完善的内部系统来完成整个自动化流程,以及流程管理.reporting等工作,而如果我们没有这套系统,也想实现完…
最近公司项目处于开发阶段,很多功能开发完后就需要发布到测试环境等待测试去验收,这个时候如果手动更新网站的话,是很费时费力的. 于是乎,我们做成了自动发布,这样我们只管提交代码到SVN就行了,发布由软件自动完成.接下来就讲下,如何实现SVN的自动发布. SVN自动发布首先需要在服务器部署一个Jenkins软件.由于Jenkins软件是基于Java环境的,所以要使用Jenkins,首先需要保证系统中已经安装了jdk,如果您的系统还没有安装,可以通过下面的地址下载安装即可. jdk1.7下载地址:ht…
最近看了很多 Git 与 SVN 的比较,很多都说 SVN 做分支很慢,不知道是从何说起.有可能大家都不清楚,SVN 做分支的正确步骤,特此介绍一下. SVN 服务器后台使用 Berkeley DB 数据库进行数据保存.当前版本.发行版本.分支版本,在 SVN 客户端处中一般只是当成普通目录.SVN 客户端有很多种,客户端处数据如何保存,没有明确的说法. 比如,SVN 版本库从客户端上看其根目录为: http://zhegui-svn/svn 几个主要子目录为: 1) 当前开发主线目录 http…
转载地址:http://www.ibm.com/developerworks/cn/rational/r-cn-clearmakebuild/ 构建管理是 IBM® Rational® ClearCase 产品的一个重要模块,它将软件产品的构建和软件开发配置管理进行无缝衔接,方便统一管理,而且还提供了并行和分布式构建,为构建一个高效稳定的构建环境提供了便捷.在 ClearCase 构建管理中有两个构建应用 ClearMake 和 Omake.ClearMake 可用于 Unix.Linux 和…
第六章-敏捷流程 第六章主要详细介绍了敏捷流程,在软件工程范畴里,“敏捷流程”是一系列价值观和方法论的集合.这一章以敏捷流程的Scrum方法论而展开,而敏捷流程的精髓就是在于快速的交付. 敏捷开发的流程如下: 1.找出完成产品需要做的事情 - Product Backlog. 2.决定当前的冲刺(Sprint)需要解决的事情--Sprint Backlog. 3.冲刺(Sprint).在冲刺阶段,外部人士不能直接打扰团队成员.期间每日例会,向同伴报告进度,把问题摆在明面上.同时启动每日构建,让大…
这段时间折腾自动化测试,之前都是在Eclipse工程里面手工执行自动化测试脚本,调用Testlink API执行测试用例,目前搭建Jenkins自动化构建测试的方式,实现持续构建,执行自动化测试. 硬件环境: 操作系统:Windows Server 2008 R2 Enterprise CPU:Intel(R) Xeon(R) CPU E5-2620 v2@2.10GHz  4核处理器 内存:8G 磁盘:1T 软件环境: jdk1.7.0_79 ant1.9.4 apache-tomcat-8.…
一.Maven介绍 Maven是一个项目管理和整合的工具.Maven为开发者提供了一套完整的构建生命周期框架.开发团队基本不用花多少时间就能自动完成工程的基础构建配置,因为Maven使用了一个标准的目录结构和一个默认的构建生命周期. 二.Maven用途 Maven提供了帮助管理 构建.文档.报告.依赖.SCMs.发布.分发的方法.可以方便的编译代码.进行依赖管理.管理二进制库等等.Maven的好处在于可以将项目过程规范化.自动化.高效化以及强大的可扩展性利用Maven自身及其插件还可以获得代码检…