欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-06-07 14:27:46
...
请各位同学介绍一下贵厂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。

至少开发、测试、上线流程,详见技术团队代码管理和部署
相关标签: PHP lib