如何实现LAMP项目的"一步构建"?

nat*_*ood 9 php version-control lamp project-management packaging

使用"一键式构建"将您的更改从开发环境转移到实时服务器是一件非常好的事情,并且经常提倡.

我加入了一个运行在LAMP堆栈中的小团队并使用SVN进行版本控制,目前部署在单个生产服务器上(另一个服务器用于开发,很快将成为一个单独的mysql服务器).我刚刚加入了许多在我加入之前一直缺失的组织事项.

我很好奇

  1. 人们如何做到这一点(一步建立)目前
  2. 看看我如何能够最好地实现它的情况(小团队,带SVN的LAMP环境)

我感兴趣的一些特殊挑战是处理数据库更改(架构)以及人们使用什么样的"包"以保持组织有序(例如RPM,PEAR等).

Kie*_*eli 7

我们用蚂蚁哈德森.工作就像一个魅力.

Hudson也可以与其他构建系统一起工作,而不仅仅是Java项目.它允许您设置多个构建目标,并自动或手动运行它们.它还会强制您实现从单个命令运行构建的方法.

它不能解决在为部署的服务器运行构建期间服务器不可用的通信问题.

对于我们的架构更新和更改,我们设置我们的ant脚本来做两件事:

  1. 仅当SVN存在差异时,更新才会运行架构.
  2. 在构建架构更改后签入架构转储.
  3. 如果没有更新架构,只需使用转储来加载数据库

它确实需要几次尝试才能做到,但突然间我们解决了多个开发人员处于不同模式的问题.导入转储以更新开发模式非常容易,您可以每天执行此操作.