我被指控在我公司设置CI服务器,我正在寻找一些关于我的项目需要什么构建配置的建议。 作为第一步,我将构建设置为:
提交构建:编译代码并运行单元测试
集成构建:编译代码并运行长时间运行的集成测试
我不确定我还需要什么来完成CI图片。例如,您的商店中有哪些构建配置?
我知道必须有一个步骤来部署我的成功构建,但是我会将部署作为Integration的一部分吗?
使用TeamCity,MSBsuild和SVN
寻找急需的建议。
答案 0 :(得分:6)
我见过的最完整的版本按给定顺序执行了以下操作。有两个组,无论失败如何,每个组中的所有目标都会执行,但如果组成员失败,则组将失败。所以我们看到了所有问题。
第一组研究资料来源:
第二组正在处理生成的代码,只有第一步成功:
这是一次又一次触发提交的主要构建。它做了很多,但有一些强大的机器使用几个核心,它约为4分钟500k LOC。如果他们愿意,测试人员可以获得最新的快照构建。
长时间运行的集成测试(每个2小时)每晚运行一次,只进行
另一个版本是纯粹的文档构建,每晚触发一次。它永远不会失败。
答案 1 :(得分:2)
我们在每个CI运行的先前项目中运行的代码覆盖率记录, 发布自动生成的文档和Checkstyle报告。
这给了我们一些关于每个登记计划的统计质量的统计数据,以及改善我们的工作习惯。
答案 2 :(得分:1)
我们已经为
构建了配置部署配置允许非技术QA资源在他们准备测试某些内容时部署到测试环境,并避免混淆错误修复是否已经到达测试环境。
答案 3 :(得分:1)
我们在最近的CITCON北美(持续集成和测试会议)上进行了类似的对话,在那里我们分享了我们的经验,并试图整理从简单的CI到非常内置的CI和发布的路线图系统
原始会议记录为here。随着Flickr photostream。 城市代码博客也提供cleaned up version。
澳大利亚人在CITCON布里斯班重温了这个话题,其中pencast可用
希望其中一些资源有用。
答案 4 :(得分:1)
我正在研究这个问题。我们的构建配置执行以下操作:
构建
现在我们有一个可以发布到任何服务器的应用程序,只需将其复制到部署目录,并将相应的配置文件重命名为web.config
我们还有3个配置部署。每次成功构建后,第一个都会部署到开发环境中。这为我们提供了最新代码库的工作版本。第二个部署到手动分段。这将设置为从上一个固定的开发版本进行部署。最后,有一个实时部署配置,然后从上次部署的暂存构建进行部署。这有很多额外的东西: