2

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

如果我通过 git 推送代码,上传文件夹中的所有文件都会自动删除。有没有办法在我的 openshift 服务器中阻止这种情况?

4

2 回答 2

4

您的应用程序应该将任何持久性文件存储在 中$OPENSHIFT_DATA_DIR,通常是 ~/app-root/data. 您的应用程序可能会将这些“上传”存储到$OPENSHIFT_REPO_DIR您的代码所在的 . 每次git push.

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

于 2014-12-10T17:40:48.543 回答
1

在您的根 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

添加更改、提交和推送。

于 2016-06-28T03:19:13.687 回答