Coldfusion部署的最佳实践

E. *_*aep 5 svn ant coldfusion cfeclipse mxunit

我是Coldfusion开发的新手,并继承了已部署的项目.由于各种技术限制,我们无法在我们的工作站本地开发(就像您为.net所做的那样).因此,文件直接从测试服务器编辑(并从那里提交到SVN).

再一次,由于测试数据库通常落后于prod db,我们经常需要直接从prod服务器编辑代码(请不要责怪这里,我知道这是一件坏事).

我想借此机会将这个过程变成可管理的事情:

  • 本地代码版
  • 使用MXUnit进行单元测试
  • 与SVN一起提交
  • 在SVN上有一个可以部署到测试服务器的钩子
  • 在测试服务器上测试
  • 以某种方式触发prod服务器的部署

在技​​术方面,我考虑的是:CFEclipse,MXUnit,SVN和ANT的组合

除了SVN,一切都是新的,可以改变你有更好的建议.

有没有人实施过这样的流程,可能是我提示如何开始?

zar*_*jar 5

在我们的办公室,我们首先尝试了ANT + MXUnit + Selenium + TeamCity,但过了一段时间我们决定切换到Jenkins/Hudson持续集成服务器.

有很多关于持续集成的方法和教程,所以我想你不需要我在这里详细解释它.

总而言之,为svncheckin/checkout构建ANT脚本,构建MXUnit测试,生成/编写Selenium测试并从测试服务器上的Jenkins用户界面运行所有内容.

快速提示:在本地开发ANT脚本,以避免删除服务器上的文件(发生在我们身上一次:)).MXUnit在从浏览器运行它时很棘手,注意应用程序范围的变量.您可以用多种语言编写/编辑Selenium测试,在我们的案例中,Java似乎是最佳选择.TeamCity和Jenkins都有自己的优点和缺点,更好地尝试两者,看看哪个更适合你.

相关链接:

http://www.jetbrains.com/teamcity/

http://jenkins-ci.org/

http://seleniumhq.org/

您还可以查看BDD(行为驱动开发),并将JBehave http://jbehave.org/包含到您的敏捷开发工作流程中,如果您有"复杂"的客户端,那就太棒了.

祝好运!

  • 使用ANT和Jenkins连接MXUnit的文档在这里:http://wiki.mxunit.org/display/default/Automation+with+Jenkins+Continuous+Integration+Server该文档中引用的samples/build.xml文件包含示例使用svn ant任务,因此您可以在ANT中使用svnupdate在运行测试之前更新您的dev位置,这是获取最新代码到dev的一种途径.我有其他示例ANT代码,如果您感兴趣,可以使用ssh/scp将代码推送到生产中 (2认同)