我是Coldfusion开发的新手,继承了一个已经部署的项目。由于各种技术限制,无法在我们的工作站上进行本地开发(就像你在.net上所做的那样)。因此,文件是直接从测试服务器编辑的(并从那里提交到SVN上)。
再一次,由于测试数据库通常远远落后于生产数据库,我们经常不得不直接从生产服务器编辑代码(请不要责怪这里,我知道这是一件坏事)。
我想借此机会将流程恢复到可管理的状态:
- 本地代码版本
- 使用MXUnit进行单元测试
- 使用SVN提交
- 在SVN上有一个钩子,它将部署到测试服务器
- 在测试服务器上进行测试
- 以某种方式触发对产品服务器的部署
在技术方面,我想到了CFEclipse、MXUnit、SVN和ANT 的组合
除了SVN,一切都是新的,可以改变。你有更好的建议。
有人实施过这样的流程吗?可以给我一个如何开始的提示吗?
在我们的办公室里,我们首先尝试了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(行为驱动的开发)并包括JBehavehttp://jbehave.org/如果你有"复杂"的客户,就把这些很棒的东西融入到你的敏捷开发工作流程中。
祝你好运!
查找git而不是svn。好多了。以及Mylyn/Tasktop,将ide中的所有内容联系在一起。