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

PHP 项目自动部署有什么好点的解决方案?

  •  1
     
  •   kaminono · 2019-01-17 10:31:52 +08:00 · 8186 次点击
    这是一个创建于 2173 天前的主题,其中的信息可能已经有所发展或是发生改变。

    求各位指点迷津

    40 条回复    2019-03-09 22:38:53 +08:00
    blurh11E27
        1
    blurh11E27  
       2019-01-17 10:35:39 +08:00
    哈哈哈哈 同问
    sagaxu
        2
    sagaxu  
       2019-01-17 10:36:34 +08:00 via Android
    git / rsync
    scusjs
        3
    scusjs  
       2019-01-17 10:37:45 +08:00
    之前 php 小项目是 master 分支上做 webhook 去自动部署
    CTO
        4
    CTO  
       2019-01-17 10:38:47 +08:00
    webhook+1
    EscYezi
        5
    EscYezi  
       2019-01-17 10:39:17 +08:00 via iPhone
    之前有个想法是在远端建一个仓库写好 git hook 自动复制代码到 web 目录,本地 push 代码上去,触发 git hook,就可以完成部署了。不过还没来得及实践🌚
    Sikoay
        6
    Sikoay  
       2019-01-17 10:42:18 +08:00
    capistrano 搭配 git 使用
    triptipstop
        7
    triptipstop  
       2019-01-17 10:42:57 +08:00
    cron * * * ** git pull
    salamanderMH
        8
    salamanderMH  
       2019-01-17 10:43:57 +08:00
    gitlab 的 webhook+jenkins
    Sikoay
        9
    Sikoay  
       2019-01-17 10:44:23 +08:00
    之前撸了一个简易教程,搭配使用(直接去官网看文档当然是最好的拉 https://www.sikoay.com/post/27 capistrano
    jowan
        10
    jowan  
       2019-01-17 10:48:30 +08:00
    jenkins + gogs + webhook
    blurh11E27
        11
    blurh11E27  
       2019-01-17 10:55:15 +08:00
    zjsxwc
        12
    zjsxwc  
       2019-01-17 10:56:05 +08:00
    我们目前是 docker && jenkins
    yuikns
        13
    yuikns  
       2019-01-17 10:58:53 +08:00 via iPad
    @salamanderMH 有 gitlab ci 还要 jenkins 干哈
    Light3
        14
    Light3  
       2019-01-17 11:03:34 +08:00
    我现在码云+webhook
    jakehu
        15
    jakehu  
       2019-01-17 11:32:43 +08:00
    @yuikns 有 gitlab ci 还要 jenkins 干哈 + 1
    jakehu
        16
    jakehu  
       2019-01-17 11:33:36 +08:00
    gitlab + gitlab ci + docker/K8s 完美,我们 PHP nodejs Java 都是这样部署的
    pynix
        17
    pynix  
       2019-01-17 11:34:57 +08:00
    dokku(heroku)
    salamanderMH
        18
    salamanderMH  
       2019-01-17 11:44:51 +08:00
    @jakehu 学习下 gitlab ci
    avenger
        19
    avenger  
       2019-01-17 12:01:35 +08:00 via iPhone
    abmin521
        20
    abmin521  
       2019-01-17 12:05:43 +08:00 via Android
    @pynix 这个好用吗 似乎是 paas 平台?
    Debiancc
        21
    Debiancc  
       2019-01-17 12:26:13 +08:00
    gaylab + docker
    suman
        22
    suman  
       2019-01-17 13:11:16 +08:00
    我用 laravel,使用 enovy 部署
    keepcleargas
        23
    keepcleargas  
       2019-01-17 13:22:10 +08:00
    ansible + jenkins
    hteen
        24
    hteen  
       2019-01-17 13:35:43 +08:00
    pynix
        25
    pynix  
       2019-01-17 13:56:17 +08:00
    @abmin521 好用,我一直在用。。。不过是用来部署 rails
    realpg
        26
    realpg  
       2019-01-17 14:05:31 +08:00
    git webhook
    veike
        27
    veike  
       2019-01-17 14:15:43 +08:00
    难道没有人用阿里云私有仓库吗,如果你用的阿里云的服务器,阿里云私有仓库首选啊。
    aaaa9966
        28
    aaaa9966  
       2019-01-17 14:29:31 +08:00
    直接 FTP 传了
    jiangeshanxi
        29
    jiangeshanxi  
       2019-01-17 15:16:30 +08:00
    FTP 一把梭
    lzj307077687
        30
    lzj307077687  
       2019-01-17 15:47:31 +08:00
    gitlab 的 webhook
    makeup1122
        31
    makeup1122  
       2019-01-17 15:59:29 +08:00
    @EscYezi 我就是这么干的,服务器端 repo 的 hook 目录下,写个 post-recive 部署脚本
    lzj307077687
        32
    lzj307077687  
       2019-01-17 16:10:35 +08:00
    iSecret
        33
    iSecret  
       2019-01-17 17:24:50 +08:00
    多台服务器 Webhook + SSH2.
    ben1024
        34
    ben1024  
       2019-01-17 17:34:27 +08:00
    jenkins
    amoydavid
        35
    amoydavid  
       2019-01-17 23:26:20 +08:00
    #19 楼说得很对。非常靠谱的部署方案。
    niuoh
        36
    niuoh  
       2019-01-17 23:39:55 +08:00 via Android
    不用部署 直接用 kodcloud 通过 web ide 线上开发
    zhangv
        37
    zhangv  
       2019-01-18 12:11:12 +08:00
    1,2 台服务器,deployer + rsync
    服务器多的话,就写个脚本吧,无非 ssh rsync
    如果环境配置复杂要自动化就是 ansible 或者 docker 化
    war1644
        38
    war1644  
       2019-01-31 15:20:28 +08:00
    项目不多自己实现,当学习:
    gitlab 的 webhook + 自己写个 php 脚本控制逻辑(校验来源信息啥的) + 再调用 shell 脚本部署
    你可以参考我的自动部署脚本 https://github.com/war1644/php/blob/master/shell/deploy.sh

    项目多的话上:
    gitlab 的 webhook + jenkins
    bzeron
        39
    bzeron  
       2019-02-15 10:54:19 +08:00
    难道就没有用 gogs+drone+docker 的用户吗
    linpf
        40
    linpf  
       2019-03-09 22:38:53 +08:00
    特别土的办法:svn 的 post-commit.

    这年代还用 svn 会不会被喷?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1016 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 18:47 · PVG 02:47 · LAX 10:47 · JFK 13:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.