3

首先让我说我是coldfusion新手。我正在尝试研究是否可以执行以下操作以及实现它的最佳方法是什么。

每当开发人员将代码签入 SVN 时,我都想获取所有新的更改/文件并进行自动构建以检查代码是否可以成功部署到生产服务器。我想它有两个部分,一个是语法检查,另一个是集成测试(如果功能按预期工作)。对于后面的部分,必须使用一些单元测试工具。

有人可以评论他们为冷融合做类似事情的经历吗?抱歉有点含糊……我知道这是一个非常开放的问题,但我们将不胜感激。

谢谢

4

2 回答 2

8

有一个名为“Cloudy With A Chance of Tests”的项目声称可以满足您的要求。特别是它汇集了许多其他 CFML 代码分析项目(VarScope 和 QueryParam)来检查代码以及单元测试。我自己目前没有使用它,但前一段时间(超过 12 个月)确实看过它,它看起来相当不错。

https://github.com/mhenke/Cloudy-With-A-Chance-Of-Tests

我个人使用 MXUnit 站点的说明在 Jenkins 中运行 MXUnit 测试 - 可在此处获得:

http://wiki.mxunit.org/display/default/Continuous+Integration+--+Running+tests+with+Jenkins

本质上,这是在 Jenkins 中设置为 ant 任务,它执行 MXUnit 测试并报告结果。

于 2013-09-20T02:30:09.573 回答
1

我们没有进行完全连续的集成,但我们有一个流程可以自动化我们构建的一些单调乏味的工作:

  • 将站点的 application.cf(m|c) 替换为告诉用户正在部署应用程序的应用程序(我们让 QA 人员提出了由于重新部署而导致的缺陷)
  • 读取数据库清单 XML,其中列出了构成当前版本的所有 SQL 脚本。我们将脚本串联成一个升级脚本,适合出货
  • 对服务器的数据库执行 SQL 脚本,注意任何错误。连接过程还在每个导入的白色脚本之后添加一行 SQL 到运行日志表,因此我们可以看到运行了什么、花了多长时间以及它与哪个构建相关联。如果您希望复制此步骤,请查看Liquibase
  • 部署最新代码
  • 对 ?reset=true 类型的 URL 进行 http 调用,告诉应用重新初始化
  • 执行任何测试

构建是通过我们拥有的构建服务器手动请求的,但是您单击一个按钮,泡茶就完成了。我们刚刚扩展了上述内容以处理集群中的多个服务器,并且运行良好。我认为上述使用 Jenkins SVN 插件自动化流程的建议听起来像是要走的路。

于 2013-09-20T20:12:16.050 回答