V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
leben
V2EX  ›  PHP

请教PHP项目的持续集成

  •  
  •   leben · 2011-05-13 11:03:57 +08:00 · 5155 次点击
    这是一个创建于 4948 天前的主题,其中的信息可能已经有所发展或是发生改变。
    php项目的持续集成到底应该怎么做?有经验的朋友分享一下经验吧。
    我自己的开发环境,本地开发,然后传到公司服务器上测试,稳定的版本更新website,有几个问题。
    1、自动测试,web gui的测试应该怎么完成,特别是ajax的测试。
    2、构建的过程应该是什么样的,我看了ant和phing,感觉php没有java程序那么麻烦还需要编译,只是要拷贝部分文件就可以更新了,这个构建到底需要怎么来做。

    我知道这更多只是一个良好的工作习惯问题,但是自己实在是摸不着头绪,特别是有什么工作量大的时候,有一些小的bug可能就直接修改网站代码了,现在手头的几个版本自己都不知道是不是一致的,就是一个感觉,混乱。希望借鉴一下大神们的经验。
    6 条回复    1970-01-01 08:00:00 +08:00
    joyqi
        1
    joyqi  
       2011-05-13 11:37:37 +08:00
    建议你使用makefile,对php来说已经够用了
    aligo
        2
    aligo  
       2011-05-13 11:38:10 +08:00
    ajax测试分两部分吧,http api用一般方法测试就行了
    前端方面偏代码单元测试可用jsunit,可以mock一下,分别手动打开各种浏览器运行即可T_T
    偏完整的行为测试可以用selenium

    部署的话phing啊capistrano啊都是不错的,用它们的一个前提就是版本控制是必须的,看你的混乱状况应该就是这个原因吧
    leben
        3
    leben  
    OP
       2011-05-13 12:44:06 +08:00
    我用的git,仅限于控制变更。其实我的混乱主要是需求变化太快引起的,很多时候今天新的特性要发布了,boss还在变来变去,还要求必须上线,最后只能不明不白的就上去了。

    我在尝试xinc,我自己的感觉,不管用什么方式,在自动构建的时候,build.xml的编写都是最让人头疼的,太麻烦了。

    @joyqi 谢谢,有时间学习一下。
    aligo
        4
    aligo  
       2011-05-13 15:22:52 +08:00
    @leben 如果喜欢规整有条理的话,可以尝试用git-flow
    spritevan
        5
    spritevan  
       2011-05-13 15:42:09 +08:00   ❤️ 1
    我用 .git/hooks/post-receive 检测 commit msg 里带了 [deploy] 就连到测试环境执行 deploy.sh "其实里面就是一个 git pull 命令 ><
    唔... 也用 makefile 执行一些 static 打包合并压缩的重复劳动
    leben
        6
    leben  
    OP
       2011-05-13 17:23:12 +08:00
    都是高手,受教了。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6021 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 02:14 · PVG 10:14 · LAX 18:14 · JFK 21:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.