大家 php 上线都用什么系统啊 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
whistle
V2EX    PHP

大家 php 上线都用什么系统啊

  •  
  •   whistle 2015-06-04 13:25:39 +08:00 9173 次点击
    这是一个创建于 3792 天前的主题,其中的信息可能已经有所发展或是发生改变。

    纯git pull然后同步到其他机器吗 还是有别的工具

    40 条回复    2017-03-06 18:10:42 +08:00
    guoer
        1
    guoer  
       2015-06-04 13:33:06 +08:00
    ibiger
        2
    ibiger  
       2015-06-04 13:35:25 +08:00
    gDD
        3
    gDD  
       2015-06-04 13:39:16 +08:00
    Ansible + Ansible Docker module
    zjgsamuel
        5
    zjgsamuel  
       2015-06-04 14:00:25 +08:00
    @zjgsamuel 哎呀~~ 发窜了 LZ 自行忽略啊~
    zhaiduo
        6
    zhaiduo  
       2015-06-04 14:01:53 +08:00 via iPad   1
    Svn up :)
    shanxuefeng
        7
    shanxuefeng  
       2015-06-04 14:06:16 +08:00
    都没听过。。。只会用FTP是不是太低级了?
    LINAICAI
        8
    LINAICAI  
       2015-06-04 14:34:23 +08:00
    优先考虑svn,嫌麻烦FTP也挺好的
    Septembers
        9
    Septembers  
       2015-06-04 14:36:19 +08:00
    @LINAICAI FTP传输大量碎片文件的时候,传输速度感人
    gongpeione
        10
    gongpeione  
       2015-06-04 14:37:14 +08:00
    _(:з」∠)_都没听过。。默默回去用ftp/svn上传
    kevinroot
        11
    kevinroot  
       2015-06-04 14:37:32 +08:00
    jekins+shell
    xbonline
        12
    xbonline  
       2015-06-04 14:38:39 +08:00
    rsync
    Admstor
        13
    Admstor  
       2015-06-04 14:45:51 +08:00
    @Septembers 多线程搞起来...
    shiny
        14
    shiny  
       2015-06-04 14:47:31 +08:00
    一般个人项目直接 remote edit 了
    skyworker
        15
    skyworker  
       2015-06-04 14:48:19 +08:00
    @Septembers 压缩zip,然后再unzip不行吗?
    zhangqinmiao
        16
    zhangqinmiao  
       2015-06-04 16:04:53 +08:00
    @skyworker 我也是:)
    lyragosa
        17
    lyragosa  
       2015-06-04 16:25:41 +08:00
    我说我用FTP放学了会不会被打啊。
    66beta
        18
    66beta  
       2015-06-04 16:26:36 +08:00
    一个人的项目感觉zip上传更方便,然后单个替换,然后国外服务器偏向走github
    jsxqf
        19
    jsxqf  
       2015-06-04 16:53:38 +08:00 via iPhone
    ansible synchronize(还是基于 rsync
    Lucups
        20
    Lucups  
       2015-06-04 16:57:50 +08:00
    git hook
    killall
        21
    killall  
       2015-06-04 17:04:17 +08:00
    写的 fabric 脚本
    timsims
        22
    timsims  
       2015-06-04 17:48:03 +08:00
    Capistrano + 1

    个人项目没所谓,公司项目用ftp一旦出问题回滚不方便
    bingx86
        23
    bingx86  
       2015-06-04 19:04:09 +08:00
    用了 Ansible 的 template + synchronization (rsync)。。。。配置,同步 同时搞定
    littlehz
        24
    littlehz  
       2015-06-04 19:59:50 +08:00
    小项目直接用 git 控制版本,用Ansible synchronization传文件就好。

    严格一点服务器较多的项目自己写脚本(配合Ansible),大概步骤如下:
    1、打包tar gz压缩
    2、传输 tar.gz 到所有外网服务器
    3、解压 tar.gz
    4、删除模板文件缓存等本地缓存,设置某些目录的可写权限等
    5、清理opcache缓存(opcache设置为手动更新,不检查timestamp方式)
    严格项目要考虑到多台服务器文件不一致可能出现问题,尽量是同一时刻更新所有服务器。所以要传压缩包,一起解压的方式。
    也不能出现先上传A文件再上传B文件,要同时传所有文件,否则两个文件存在依赖关系,如果一个文件较晚更新,这时访问页面可能出现500服务器内部错误。所以要opcache手动更新。
    whistle
        25
    whistle  
    OP
       2015-06-04 20:01:53 +08:00
    我感觉上线前要和线上文件做比对,确认后再发布
    mytharcher
        26
    mytharcher  
       2015-06-04 20:05:53 +08:00
    即使我是一个人做再小的项目,也是用 git hook,本地一个 push 服务器就自动部署了。于是每次新建项目都要先配置好自动部署环境,所以写了这个工具,欢迎 star:

    https://github.com/mytharcher/hookagent
    GG668v26Fd55CP5W
        27
    GG668v26Fd55CP5W  
       2015-06-04 20:22:51 +08:00 via iPhone
    用git hook或svn hook是web hook吧,如果同时还用PHP执行git pull,就要求PHP对整站目录有写权限或者用root运行PHP吧,这样是不是有点不安全啊
    jakehu
        28
    jakehu  
       2015-06-04 20:50:45 +08:00
    哈哈 我也想知道
    ifconfig
        29
    ifconfig  
       2015-06-04 22:07:01 +08:00
    @falcon05 php写一个git pull的脚本 ,hook的地址指向这个脚本,你可以设置这个脚本权限为apache:root嘛
    endoffight
        30
    endoffight  
       2015-06-04 22:38:05 +08:00
    nigelvon
        31
    nigelvon  
       2015-06-04 23:04:56 +08:00
    git+shell
    lujiajing1126
        32
    lujiajing1126  
       2015-06-04 23:19:11 +08:00
    capistrano+rsync
    fontartist
        33
    fontartist  
       2015-06-05 09:37:55 +08:00 via iPhone
    centos、git、rsync
    erevus
        34
    erevus  
       2015-06-05 11:33:34 +08:00
    scp
    zluyuer
        35
    zluyuer  
       2015-06-05 12:40:40 +08:00
    [desktop]

    git commit, push


    [server]

    -- deploy.sh --
    #!/bin/bash

    echo -e "\033[31mPulling source...\033[0m"
    cd /env_name/src/app_name
    git pull

    echo -e "\033[31mBuilding...\033[0m"
    composer install

    echo -e "\033[31mDeploy complete.\033[0m"
    wayne712
        36
    wayne712  
       2015-06-05 13:53:34 +08:00
    请问大家一般怎么用rsync, deamon模式在什么情况下会用到呢
    biu1024
        37
    biu1024  
       2015-06-11 09:04:06 +08:00
    *.phar 怎么没人提到?
    jakehu
        38
    jakehu  
       2015-08-24 23:31:13 +08:00 via Android
    git pull
    wushuiyong
        39
    wushuiyong  
       2015-10-28 14:26:19 +08:00
    看来大家都还不知道 Walle-瓦力,一个 web 部署系统工具,可能也是个持续发布工具,配置简单、功能完善、界面流畅、开箱即用!

    支持 git 、 svn 版本管理,支持各种 web 代码发布,静态的 HTML ,动态 PHP ,需要编译的 JAVA 等。主要功能列表:

    1.用户分身份注册、登录
    2.开发者发起上线任务申请、部署
    3.管理者审核上线任务
    4.支持多项目部署
    5.支持多项目多任务并行
    6.快速回滚
    7.项目的用户权限管理
    8.部署前准备任务 pre-deploy (前置检查)
    9.代码检出后处理任务 post-deploy (如 vendor )
    10.同步后更新软链前置任务 pre-release
    11.发布完毕后收尾任务 post-release (如重启)
    12.执行 sql 构建(不要担心忘记测试环境 sql 同步)
    13.线上文件指纹确认
    14.支持 git 、 svn 版本管理

    详见 github 项目地址: https://github.com/meolu/walle-web ,官方主页介绍: http://www.huamanshu.com/walle.html
    mingyun
        40
    mingyun  
       2017-03-06 18:10:42 +08:00
    @wushuiyong 这个工具不错
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1326 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 23:51 PVG 07:51 LAX 16:51 JFK 19:51
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86