在Openshift服务器中重新部署时上载的文件被删除

时间:2014-12-10 17:10:41

标签: ubuntu openshift openshift-enterprise

推送整个应用程序后,整个应用程序运行正常。然后我通过我的网络界面将一些文件上传到我的上传文件夹。

如果我通过git推送代码,uploads文件夹中的所有文件都会自动删除。有没有办法在我的openshift服务器中停止它?

2 个答案:

答案 0 :(得分:4)

您的应用程序应该在$OPENSHIFT_DATA_DIR中存储任何持久性文件,通常是〜/ app-root / data。您的应用程序可能会存储这些"上传"进入代码所在的$OPENSHIFT_REPO_DIR。每次git push时,都会使用新代码覆盖此目录。

您需要配置应用程序以将上传内容存储在$ OPENSHIFT_DATA_DIR中以持久存储它们。

答案 1 :(得分:1)

在你的root wordpress本地创建一个动作挂钩的目录

mkdir -p .openshift/action_hooks

然后创建部署钩子

vim .openshift/action_hooks/deploy

粘贴此

#!/bin/bas
echo "Creating symlink folder of uploads" 
if [ ! -d ${OPENSHIFT_DATA_DIR}uploads ]; then
    mkdir ${OPENSHIFT_DATA_DIR}uploads
fi
ln -svf ${OPENSHIFT_DATA_DIR}uploads ${OPENSHIFT_REPO_DIR}wp-content/uploads

注意:.openshift / action_hooks / deploy挂钩不可执行,以使其可执行:

在Windows上:git update-index --chmod=+x .openshift/action_hooks/deploy

在Linux / OSX上:chmod +x .openshift/action_hooks/deploy

添加更改,提交和推送。