当前位置:  开发笔记 > 编程语言 > 正文

PHP项目的标准部署方式是怎样的?

请各位同学介绍一下贵厂PHP项目的部署方式。感兴趣的点主要有这么几个如何维护第三方源码?用什么方式保证依赖关系?是否有标准的依赖关系维护方式?如何维护第三方lib?特别是C模块?如何做PHP本身版本升级?升级的前期准备工作是怎样的?
请各位同学介绍一下贵厂PHP项目的部署方式。

感兴趣的点主要有这么几个
  1. 如何维护第三方源码?用什么方式保证依赖关系?是否有标准的依赖关系维护方式?
  2. 如何维护第三方lib?特别是C模块?
  3. 如何做PHP本身版本升级?升级的前期准备工作是怎样的?

回复内容:

我来回答第一个问题吧。PHP 的世界里有 Composer(getcomposer.org/),这个玩意儿你可以联想成 npm 之于 Node.js,gem 之于 Ruby。它有一个官方的包仓库 Packagist(packagist.org/)。

一般的项目部署也有相关的工具,例如 phing(phing.info/),可以认为是 Ant 之于 Java。

举例来说,现在我做的项目用的是 Github+Jenkins 的方案,每个开发人员从主仓库 fork 到自己账户,然后提交 Pull Request。Pull Request 会触发 Jenkins 的 Pull Testing,将改动部署到 QA 环境中,然后该怎么测试就怎么测试吧。部署脚本的工作主要包括清理原先的项目文件和数据库,取回代码库中最新的版本,跑 phing(包括数据库的 Migration、运行 PHPUnit, PHP CodeSniffer等一系列QA工具)等。最终部署到生产环境的过程是类似的。 团队刚开始的时候,公司给了几台机器,让我们开始干活了:(

一开始是开发完之后验收通过直接到服务器git pull,好吧,我也承认居然是我能做出这样的事情来。怎么能忍呢?这么low的事情我怎么做得出手呢?然后就开发了一个上线部署系统 Walle 瓦力 - web部署系统,另外,已经有其它公司也部署使用了。git项目地址:meolu/walle-web · GitHub,欢迎fork试用、star。

至少开发、测试、上线流程,详见技术团队代码管理和部署
推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有