OpenShift WordPress主题开发人员工作流程

时间:2014-05-30 04:21:06

标签: linux wordpress git openshift paas

我用Cartridges创建了一个应用程序,

  • PHP 5.4
  • MySQL 5.5
  • phpMyAdmin 4.0

我将我的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
  1. 如果是这种情况,请在我的.openshift/action_hooks/deploy文件中添加此脚本

    如果[! -d $ {OPENSHIFT_DATA_DIR}上传];然后     mkdir $ {OPENSHIFT_DATA_DIR}上传 网络

    ln -sf $ {OPENSHIFT_DATA_DIR}上传$ {OPENSHIFT_REPO_DIR} php / wp-content /

  2. 但是,软链接脚本无法正常工作,在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.jpguploads文件夹在脚本完成之前已经删除了。

    如何在这种情况下保留上传文件夹内容。 OpenShift专家在此事上提供了帮助。

2 个答案:

答案 0 :(得分:2)

在我尝试构建脚本之后,我终于发现了我的问题。

回答我自己的问题

  1. 我如何指出它。 创建符号链接。在GIT推送期间,它肯定会删除你的上传文件夹($ OPENSHIFT_REPO_DIR / wp-content / uploads /)。
  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转移到它希望找到主题的数据目录(而不是执行符号链接)