我正在考虑建立一个强大的CI&在一小组开发人员之间共享的项目的部署环境。目标是在测试方式,整体代码质量和部署方式方面实现一致性。
我读过有关Jenkins,Sonar,Maven,Capistrano,Phing,ANT等等的信息......说实话,我迷失在所有这些工具/技术的中间,并希望您验证我的理解并且让我对实现这一目标的最佳方式有所了解。
Jenkins :Jenkins由GIT钩子(在开发分支上)触发,并执行 PHING 脚本执行以下操作:
Sonar 正在收集所有这些数据,并将它们存储在一个数据库中,该数据库提供了一种分析应用程序代码随时间演变的方法。它还以比詹金斯更好的方式显示信息。
非常感谢您的时间和帮助!
答案 0 :(得分:5)
整体看起来不错。我没有亲自使用过Sonar(但知道它)或Capistrano(从未听说过这个),所以不能评论那些。
Maven是一个依赖,构建和部署工具,主要用于Java项目。你已经在和Jenkins一起“建立”,所以不要担心Maven。
至于部署,我写了一个非常detailed explanation here如何部署Jenkins构建。 Jenkins完全有能力进行部署,那么为什么还要在混合中添加其他工具呢?您唯一需要的是bash(或批处理,具体取决于您的环境)脚本来获取您的PHP文件(我建议将它们作为构建作业的一部分进行压缩)并将它们复制/部署在远程服务器上。
如果您有更具体的问题,请离开。
答案 1 :(得分:0)
据我所知,有一些自动部署服务,它们更容易配置。因此,例如,它可以集成到Dropbox并自动部署代码以进行repos / live,即使有少数开发人员正在处理它。示例:http://unbouncepages.com/the-magicbox/