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

2014-12-23 22:32:45 +08:00
 0x1e240
在 openshift 上弄了一个 wordpress 博客(是自己 push 上去的),然后成功安装。

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

openshift 的 fetch 和 push 仓库和 部署环境的文件不能同步,因为 wp-config.php 是安装时候生成的,所以在 远程仓库 没有这个文件,这个怎么办?
4203 次点击
所在节点    git
9 条回复
mrdf
2014-12-23 23:11:53 +08:00
ssh
bitwing
2014-12-23 23:52:48 +08:00
openshift 的部署就是这么蛋疼,git push 上去后,会重写 repo 目录,解决方法有二:
1、官方有个 ruby 写的客户端,有个备份的功能
2、scp 把 repo 目录拖下来,覆盖 wordpress ,git push
社区支持关闭前提供过一个解决方案:不过年代久远要改一下
aaaa007cn
2014-12-24 00:25:43 +08:00
还有个办法就是在 action_hooks 中用脚本把 wp 目录拷贝到 $OPENSHIFT_DATA_DIR 然后在 repo 下建立一个软链接到 $OPENSHIFT_DATA_DIR
bitwing
2014-12-24 00:30:49 +08:00
社区提供的就是楼上这个办法,不过这个适用于主题、插件和图片
aaaa007cn
2014-12-26 00:28:50 +08:00
@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
2014-12-26 01:39:20 +08:00
@aaaa007cn 多谢详解,去年刚接触时为这个也困扰过,当时不太熟悉 PAAS,不知其他家大厂的 PAAS 是否也这样部署,总觉得略繁琐
0x1e240
2014-12-26 03:22:56 +08:00
@aaaa007cn
@mrdf
@bitwing
直接用winscp传上去了
aaaa007cn
2014-12-26 23:25:53 +08:00
@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
2014-12-26 23:28:55 +08:00
@0x1e240 还是把相关文件拖回本地然后提交到 repo 后再 push 上去吧
不然下次 push 前忘记备份,配置不就又要丢了么
ln -s 的软连接在 push 之后也会被重置的……

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

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

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

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

© 2021 V2EX