Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Svn Coldfusion部署的最佳实践_Svn_Ant_Coldfusion_Cfeclipse_Mxunit - Fatal编程技术网

Svn Coldfusion部署的最佳实践

Svn Coldfusion部署的最佳实践,svn,ant,coldfusion,cfeclipse,mxunit,Svn,Ant,Coldfusion,Cfeclipse,Mxunit,我是Coldfusion开发的新手,继承了一个已经部署的项目。 由于各种技术限制,不可能在我们的工作站上进行本地开发(就像您为.net所做的那样)。因此,直接从测试服务器编辑文件(并从那里提交到SVN) 再一次,由于测试数据库通常远远落后于prod数据库,我们通常不得不直接从prod服务器编辑代码(请不要在这里责备,我知道这是一件坏事) 我想借此机会把这个过程放回到一个可管理的地方: 本地代码版本 使用MXUnit进行单元测试 向SVN提交 在SVN上有一个可以部署到测试服务器的钩子 在测试服

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

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

我想借此机会把这个过程放回到一个可管理的地方:

  • 本地代码版本
  • 使用MXUnit进行单元测试
  • 向SVN提交
  • 在SVN上有一个可以部署到测试服务器的钩子
  • 在测试服务器上进行测试
  • 以某种方式触发到prod服务器的部署
在技术方面,我考虑的是CFEclipse、MXUnit、SVN和ANT的组合

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


有没有人实施过这样的流程,可以给我一个如何开始的提示?

在我们的办公室,我们首先尝试了ANT+MXUnit+Selenium+TeamCity,但过了一段时间,我们决定切换到Jenkins/Hudson continuous integration server

有很多关于持续集成的how-to和教程,所以我想您不需要我在这里详细解释

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

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

相关链接:

您还可以查看BDD(行为驱动开发),并将JBehave纳入您的敏捷开发工作流程,如果您有“复杂”的客户机,这是非常棒的东西


祝你好运

查看git而不是svn。好多了。和Mylyn/Tasktop将ide中的所有内容联系在一起。

Jenkins与ANT和MXUnit一起使用CFEclipse进行开发,并将代码存储在gitDocumentation中,以便将MXUnit与ANT和Jenkins连接起来。该文档中引用的samples/build.xml文件包括svn ANT任务的示例用法,因此,您可以在运行测试之前从ANT中使用svnupdate更新您的开发位置,哪一种是将最新代码导入开发的途径。如果您感兴趣,我还有其他示例ANT代码可以使用ssh/scp将代码推送到生产环境中。您能解释一下不在本地开发的技术限制吗?人们通常告诉我,他们不能在本地开发,因为那里要么有Windows,要么有其他他们“无法”复制的产品。如果是这样的话,那么请记住,开发平台不必复制生产。。。这就是登台的目的。限制主要围绕许可证。除了服务器之外,我们没有CMS的许可证。因此,我们必须将更改推送到服务器,以便能够看到它们。我们可以在本地开发组件,但一旦需要显示,我们就必须将代码移动到服务器上。最后,我们使用CMS公开的对象。因此,我们必须从服务器上运行。@orangepips:请将您的详细联系方式发送给我。我宁愿在离线状态下给你CMS的名称(只是为了确保我不会冒犯这里的任何人),点击我的个人资料查看我的电子邮件地址。我必须失明…:-)我找不到你的电子邮件地址,只能找到你的linkedIn页面。迈克,你没有提供太多关于为什么git更好的信息。说实话,出于各种原因,我喜欢使用Git而不是SVN,但那只是我自己。如果Jaepetto希望使用Ant,那么使用SVN可能不会那么麻烦,特别是如果他已经知道的话。Ant对Git没有任何本机支持,尽管我有一个用于将Git添加到Ant的工具,我希望使用Git而不是SVN。但这意味着存储库的完全迁移。目前,我不会一下子改变一切。据我所知,迁移过程相当轻松。@Henry:不幸的是,这超出了我的影响范围。David,Ant也不是“本地”支持SVN,而是有一项任务。这是通过JGit实现的Git-Ant任务,但我认为Mylyn/Tasktop将所有任务绑定在一起的观点在SVN中仍然成立。Tasktop/Mylyn现在有一个构建视图和其他增强功能