我大部分时间都是一个孤独的开发人员,从事许多主要基于php的大型项目。我希望专业化和自动化处理代码库的更改,并创建一个持续集成过程,使转换到团队中工作成为可能,而不必进行根本的更改。
我现在所做的是,我为每个项目都有一个本地测试环境;我对每个项目都使用SVN;更改在本地进行测试,然后通常通过FTP传输到在线版本。API文档由源代码手动生成;单元测试是我慢慢接触到的东西,它还不是我日常工作的一部分。
我所设想的“构建周期”是这样的:
在本地测试之后,将更改集签入SVN。
我开始构建过程。检查出SVN HEAD修订,必要时进行修改,并为上传做好准备。
API文档自动生成-如果我还没有详细设置,使用默认模板,扫描整个代码库。
新版本通过FTP部署到远程位置(包括一些目录重命名、chmodding、导入数据库等)。这是我已经非常喜欢phing的东西,但我当然对替代方案持开放态度。
运行位于预定义位置的单元测试。我可以通过电子邮件、RSS或(最好是)HTML输出来了解他们的成功或失败,然后把它们放到网页上。
(可选地)使用提交消息的预定义部分更新位于预定义位置的最终用户“changelog”文本文件(“现在可以同时过滤“foo”和“bar”)。此消息不一定与SVN提交消息相同,后者可能包含更多的内部信息。
像代码度量、代码风格检查之类的东西现在还不是我的主要关注点,但从长远来看,它们肯定会。解决方案带来了这种开箱即用,是非常善意的。
我在找
反馈和经验来自正在或曾经处于类似情况的人,并且已经成功地实施了解决方案
特别是,好的分步教程和演练关于如何设置这个
提供尽可能多的自动化 的解决方案,例如为每个新项目创建一个框架API、测试用例等。
也
我是淹没工作,所以我有一个强烈的倾向于简单的解决方案。另一方面,如果缺少一个功能,我就会抱怨它太有限了。点选解决方案也很受欢迎。我也向商业产品推荐可以与PHP项目一起工作的产品。
我的设置
我在Windows本地工作(确切地说,是7),大多数客户端项目都在LAMP堆栈上运行,通常在共享主机上(=没有远程SSH)。 我正在寻找可以在我自己的环境中运行的解决方案。我已经准备好为此设置一个Linux虚拟机,没有问题。只有当托管解决方案提供了所描述的所有方面,或者足够灵活,可以与流程的其他部分交互时,我才会感兴趣
< >强赏金 我接受我认为能给我最大好处的答案。这里有很多很好的输入,我希望我能接受不止一个答案。谢谢大家!< / p >