V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
0x1e240
V2EX  ›  git

git 如何拉取 openshift 部署后仓库中生成的文件

  •  
  •   0x1e240 · 2014-12-23 22:32:45 +08:00 · 4165 次点击
    这是一个创建于 3422 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在 openshift 上弄了一个 wordpress 博客(是自己 push 上去的),然后成功安装。

    后来把 .htaccess 规则 push 上去,然后博客需要重新安装了。。。
    可是 pull 远程仓库也没有东西下来,wp-config.php 拉不到怎么办???

    openshift 的 fetch 和 push 仓库和 部署环境的文件不能同步,因为 wp-config.php 是安装时候生成的,所以在 远程仓库 没有这个文件,这个怎么办?
    9 条回复    2014-12-26 23:28:55 +08:00
    mrdf
        1
    mrdf  
       2014-12-23 23:11:53 +08:00   ❤️ 1
    ssh
    bitwing
        2
    bitwing  
       2014-12-23 23:52:48 +08:00   ❤️ 1
    openshift 的部署就是这么蛋疼,git push 上去后,会重写 repo 目录,解决方法有二:
    1、官方有个 ruby 写的客户端,有个备份的功能
    2、scp 把 repo 目录拖下来,覆盖 wordpress ,git push
    社区支持关闭前提供过一个解决方案:不过年代久远要改一下
    aaaa007cn
        3
    aaaa007cn  
       2014-12-24 00:25:43 +08:00
    还有个办法就是在 action_hooks 中用脚本把 wp 目录拷贝到 $OPENSHIFT_DATA_DIR 然后在 repo 下建立一个软链接到 $OPENSHIFT_DATA_DIR
    bitwing
        4
    bitwing  
       2014-12-24 00:30:49 +08:00
    社区提供的就是楼上这个办法,不过这个适用于主题、插件和图片
    aaaa007cn
        5
    aaaa007cn  
       2014-12-26 00:28:50 +08:00   ❤️ 2
    @bitwing 其实 openshift 自家 quickstart 的 wp 就是这么干的
    ln -s
    https://github.com/openshift/wordpress-example/blob/master/.openshift/action_hooks/deploy#L23
    拷贝 wp-config.php、.htaccess
    https://github.com/openshift/wordpress-example/blob/master/.openshift/action_hooks/deploy#L71-L77
    这样可以保证即使忘记在下次 push 之前备份 repo 中的 wp-config.php
    wp-config.php 也不会被重置掉
    bitwing
        6
    bitwing  
       2014-12-26 01:39:20 +08:00
    @aaaa007cn 多谢详解,去年刚接触时为这个也困扰过,当时不太熟悉 PAAS,不知其他家大厂的 PAAS 是否也这样部署,总觉得略繁琐
    0x1e240
        7
    0x1e240  
    OP
       2014-12-26 03:22:56 +08:00 via Android
    @aaaa007cn
    @mrdf
    @bitwing
    直接用winscp传上去了
    aaaa007cn
        8
    aaaa007cn  
       2014-12-26 23:25:53 +08:00   ❤️ 1
    @bitwing 我只玩过 openshift 和 heroku

    对比 openshift
    https://devcenter.heroku.com/articles/dynos
    heroku 的 dyno 每次启动都会重置整个文件系统
    如果有两个 web dyno,这两个 dyno 的文件系统还是各自独立的
    也根本就没有 ssh 上去然后取回 wp-config.php 的机会
    感觉还是 $OPENSHIFT_DATA_DIR 好使点……

    openshift 是 openshift origin 的演示
    大概基于 openshift origin 的云也会和 openshift 有一样的限制
    aaaa007cn
        9
    aaaa007cn  
       2014-12-26 23:28:55 +08:00   ❤️ 1
    @0x1e240 还是把相关文件拖回本地然后提交到 repo 后再 push 上去吧
    不然下次 push 前忘记备份,配置不就又要丢了么
    ln -s 的软连接在 push 之后也会被重置的……
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1082 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 18:49 · PVG 02:49 · LAX 11:49 · JFK 14:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.