[深夜提问] 诸位 phper 的 composer 部署流程是怎么样的

2020-09-16 02:10:51 +08:00
 WriteCloser

composer 目前我了解到的基本是 3 种方法

  1. 放进 git 库,发布及部署。但是官方有文献不推荐这样去做 https://getcomposer.org/doc/faqs/should-i-commit-the-dependencies-in-my-vendor-directory.md

  2. 忽略 vendor 目录 composer.json 放进 git 库 发布执行 update 命令去更新(如果更新失败了会面临一些无法预料的事情

  3. 放进 CI 来做持续集成

前面 2 种本菜都试过而且比较好理解,但是对持续集成就比较模糊点

现在用的阿里的云效 流水线那套东西

https://rdc.aliyun.com/

比较疑惑的是 composer update 这个环节应该在什么地方去进行

现在手上是这样玩的

git -> rdc -> dockerfil -> k8s

ps.有大手知道 k8s 怎么 CD 进目录然后 update 吗

我现在尝试这样但是,好像不行

        lifecycle:
          postStart:
            exec:
               command: ["/bin/sh", "-c", "cd /www/blog/ && composer update"]
1247 次点击
所在节点    PHP
3 条回复
imdong
2020-09-16 02:14:07 +08:00
理论上,提交 composer.lock,忽略 vendor 提交。

实际上,全都加进去,鬼知道线上会出什么幺蛾子。
WriteCloser
2020-09-16 02:17:59 +08:00
@imdong 环境一毛一样问题就不大虽然不推荐,但是这样做感觉不是最优解
Mitt
2020-09-16 02:24:20 +08:00
composer install

走 lock 文件,一般来说 update 只在开发的时候做吧,要确保部署版本一致 composer.lock 是必须要的,也不应该在部署的时候 update

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/707376

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX