我用Cartridges创建了一个应用程序,
我将我的WP文件,插件和主题提交到GIT中。
在我的.gitignore
中,我添加了
wp-content/uploads
我确实阅读了这本书#34; OpenShift入门",正如第8章所述
“您可以使用的其他目录是OpenShift数据目录, 目前位于$ OPENSHIFT_HOMEDIR / app-root / data。我们用的是 环境变量OPENSHIFT_DATA_DIR指向此位置。 “
“数据目录是应用程序存储文件的位置 并放置配置设置,下载主题或一般任何东西 你希望能够重新开始并且Git推动。“
节选自:Steven Pousty和Katie J. Miller。 “OpenShift入门。”
我访问SSH。当我在WordPress上传媒体时,它存储在
中$OPENSHIFT_REPO_DIR/php/wp-content/uploads/2014/05/1.jpg
1.我如何指出?
$OPENSHIFT_DATA_DIR/uploads
如果是这种情况,请在我的.openshift/action_hooks/deploy
文件中添加此脚本
如果[! -d $ {OPENSHIFT_DATA_DIR}上传];然后 mkdir $ {OPENSHIFT_DATA_DIR}上传 网络
ln -sf $ {OPENSHIFT_DATA_DIR}上传$ {OPENSHIFT_REPO_DIR} php / wp-content /
但是,软链接脚本无法正常工作,在GIT PUSH
期间,它显示以下错误。
remote: ln: target `/var/lib/openshift/[ID]/app-root/runtime/repo/php/wp-content/' is not a directory: No such file or directory
我的猜测是,$OPENSHIFT_REPO_DIR/php/wp-content/uploads/2014/05/1.jpg
,uploads
文件夹在脚本完成之前已经删除了。
如何在这种情况下保留上传文件夹内容。 OpenShift专家在此事上提供了帮助。
答案 0 :(得分:2)
在我尝试构建脚本之后,我终于发现了我的问题。
回答我自己的问题
这是您应该使用的代码,只需在回购后删除php文件夹。
if [ ! -d ${OPENSHIFT_DATA_DIR}uploads ]; then
mkdir ${OPENSHIFT_DATA_DIR}uploads
fi
ln -sf ${OPENSHIFT_DATA_DIR}uploads ${OPENSHIFT_REPO_DIR}wp-content/
我希望能有所帮助。
答案 1 :(得分:1)
这个文件有很多例子
https://github.com/openshift/wordpress-example/blob/master/.openshift/action_hooks/deploy
问题在于每次git push我们都会覆盖该目录。
我认为更好的想法是将每个构建rsync内容从您的repo转移到它希望找到主题的数据目录(而不是执行符号链接)