Continuous integration 持续集成构建配置
我一直负责在我的公司设置CI服务器,我正在寻找一些关于我的项目需要什么构建配置的建议。 作为第一步,我将构建设置为: 提交构建:编译代码并运行单元测试Continuous integration 持续集成构建配置,continuous-integration,Continuous Integration,我一直负责在我的公司设置CI服务器,我正在寻找一些关于我的项目需要什么构建配置的建议。 作为第一步,我将构建设置为: 提交构建:编译代码并运行单元测试 集成构建:编译代码并运行长期运行的集成测试 我不确定完成CI图片还需要什么。例如,您的商店中有哪些构建配置 我知道部署成功的构建必须有一个步骤,但是我会把部署作为集成的一部分吗 使用TeamCity、MSBsuild和SVN 正在寻找急需的建议。我们在以前的项目中在每个CI上运行的东西,其中代码覆盖率记录, 发布自动生成的文档和Checkstyl
集成构建:编译代码并运行长期运行的集成测试
我不确定完成CI图片还需要什么。例如,您的商店中有哪些构建配置 我知道部署成功的构建必须有一个步骤,但是我会把部署作为集成的一部分吗 使用TeamCity、MSBsuild和SVN
正在寻找急需的建议。我们在以前的项目中在每个CI上运行的东西,其中代码覆盖率记录, 发布自动生成的文档和Checkstyle报告
这为我们提供了一些关于每次签入的统计质量的统计数据,用于规划和改进我们的工作习惯。我们为
- 编译+单元测试+静态分析(本例中为findbugs)+代码覆盖率(提交时触发)
- 集成测试(只要有提交,就会按计划触发)
- 部署到测试(手动触发)
部署配置允许非技术性QA资源在准备测试时部署到测试环境中,并避免了错误修复是否已进入测试环境的混淆。我见过的最完整的构建按给定顺序完成了以下操作。有两个组,每个组中的所有目标都会执行,无论失败与否,但如果组中的一个成员失败,则该组将失败。所以我们看到了所有的问题 关于资料来源的第一工作组:
- 清洁工作目录
- 更新至最新来源,从SVN获取所有信息
- 编译源代码、rmic等
- valudate XML资源(至少在Java中有很多,比如部署描述符、样式表等)
- 对源代码进行静态代码分析,例如检查空白、编码约定、命名、文件名,或对源代码的AST进行更复杂的检查(如对Java进行的检查)
- 检查其他文件的命名约定,例如,我们检查了所有依赖库的名称,以包含版本号
- 运行单元测试
- 运行快速集成测试
- 对源代码进行静态代码分析(大多数Java工具都是这样做的),例如,检查典型的错误模式(就像Java一样)
- 进行引用检查,例如强制架构分层,允许使用其他类中的某些类等
- 创建完整的部署包
- 编撰
- 运行长时间运行的测试
- 创建API文档
- 使用所有规则进行完整的静态代码分析,并生成总体项目质量的某种指标
- 从以前构建的所有项目生成覆盖率报告(遗憾的是,我们没有强制覆盖率增长)
- 制作各种精美的文档,如Maven site等。大多数情况下,这是为管理层/QA准备的
希望这些资源中的一些有用 我现在正在做这个。我们的构建配置执行以下操作: 建造:
- 编译
- 测试
- 将不同的特定于环境的配置值与基本配置合并(这样就剩下Staging.config、Test.config等)
- 创建一个名为VERSION.txt的文件,列出生成时间、修订号等
- 将所有这些发布到一个干净的目录。然后,teamcity将其作为构建工件
- 标记发布的版本
- 创建它的存档,并将其放在目录中保存
- 检查自上次实时构建以来的所有签入注释,并提取带有票证号的注释。然后使用票据的标题生成初步变更列表。在保存给后代之前,PM会对其进行编辑