这个话题说大略大略,也难也难,由于这跟团队的管理,合营等都有直接关系,以是php项目的支配方案也都会有很多不同。我这里大略记录一些,大家可以选择适宜自己的利用。
后面几个都能搜到,本来发了一篇带链接的,这样大家不用麻烦去找,创造一个都不给推举。没办法,去掉链接,重新发一下吧。找不到的请在评论区回答,我会回你地址。
1.利用git的钩子机制
这个方案事理很大略,在代码完成之后,哪个commit想要发布,在commit message中加上自己定义好的关键字,让钩子去识别,只要创造它,就知道是要支配了,然后分支代码就会被pull到指定目录。缺陷是支配一些不用composer办法的代码还好,如果用这个的话,在第三方包更新的过程中势必会影响线上程序的运行。
2.用rsync的方案
也便是说git钩子做的事交给另一个shell去干,由支配职员主动去掌握什么时候要支配,可以等到程序完备测好之后再按下这一键。最后代码会被同步到相应目录。缺陷与方案1相同。
以下方案还是利用一些当代化工具人性化、智能化一点
3.rocketeer
试用过这个一段韶光,目录构造还比较满意,对composer包之类的运用支配也支持,当时碰着两点比较头疼的问题,弃之。一个是这个运用开拓中利用了一个第三方包,不支持php7,以是只能利用php5的程序去运行rocketeer,比较麻烦。后来又碰着想分别支配开拓做事器和测试做事,当时两个都在同一台做事器,它的配置不是很好搞这个。
此运用的配置也相对麻烦,找了很多资料,用的比较少。官方的文档配置,没看到便捷的配置办法,可能是没看仔细,在这方面花了不少韶光。有兴趣的,私信我,发你参考地址吧
勾引式创建配置
$ rocketeer ignite
4.Deployer
文档清晰,配置方便,PHP7没问题,配置多做事器等等都OK。唯一对这个不理想的是,它支配之后的目录是按序号从1开始排的,没有rocketeer那个按发布韶光做目录好,不过这个无伤大雅。这个也是我目前在用的,相对来说,这个对小项目的支配是相称快速又方便的。
5.Walle
发布的掌握更繁芜一些的工具,职员的权限掌握等都有了,发布的记录等等。麻烦的是先安装一套这个别系,不熟习的话,在这上面须要花些韶光管理它,至少要保持正常运转。小团队想偷
6.Docker打包整体项目支配
这就更繁芜一些了,想理解的,须要先把Docker用好,再考虑后面的。过程比较繁芜,这里就不详述了。
原创内容,转载请标注出处,感激。