V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
WriteCloser
V2EX  ›  PHP

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

  •  
  •   WriteCloser · 2020-09-16 02:10:51 +08:00 · 1241 次点击
    这是一个创建于 1554 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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"]
    
    imdong
        1
    imdong  
       2020-09-16 02:14:07 +08:00
    理论上,提交 composer.lock,忽略 vendor 提交。

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

    走 lock 文件,一般来说 update 只在开发的时候做吧,要确保部署版本一致 composer.lock 是必须要的,也不应该在部署的时候 update
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3104 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 13:47 · PVG 21:47 · LAX 05:47 · JFK 08:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.