composer 目前我了解到的基本是 3 种方法
放进 git 库,发布及部署。但是官方有文献不推荐这样去做 https://getcomposer.org/doc/faqs/should-i-commit-the-dependencies-in-my-vendor-directory.md
忽略 vendor 目录 composer.json 放进 git 库 发布执行 update 命令去更新(如果更新失败了会面临一些无法预料的事情
放进 CI 来做持续集成
前面 2 种本菜都试过而且比较好理解,但是对持续集成就比较模糊点
现在用的阿里的云效 流水线那套东西
比较疑惑的是 composer update 这个环节应该在什么地方去进行
现在手上是这样玩的
git -> rdc -> dockerfil -> k8s
ps.有大手知道 k8s 怎么 CD 进目录然后 update 吗
我现在尝试这样但是,好像不行
lifecycle:
postStart:
exec:
command: ["/bin/sh", "-c", "cd /www/blog/ && composer update"]
1
imdong 2020-09-16 02:14:07 +08:00
理论上,提交 composer.lock,忽略 vendor 提交。
实际上,全都加进去,鬼知道线上会出什么幺蛾子。 |
2
WriteCloser OP @imdong 环境一毛一样问题就不大虽然不推荐,但是这样做感觉不是最优解
|
3
Mitt 2020-09-16 02:24:20 +08:00 via iPhone
composer install
走 lock 文件,一般来说 update 只在开发的时候做吧,要确保部署版本一致 composer.lock 是必须要的,也不应该在部署的时候 update |