【问题标题】:Openshift wrapper vs. project repoOpenshift 包装器与项目存储库
【发布时间】:2014-08-07 06:42:44
【问题描述】:

我试图为此找到一个具体的答案,但失败了。我对 openshift、django 和 git 比较陌生,所以我希望它不会太琐碎,也不会重复。

情况如下: 1. 我正在开发一个基于 Django 的 Web 应用程序,并在私有 bitbucket 存储库上使用 git 对其进行源代码控制。根据需要,我有我的常规 django 应用程序源树。 2. 我希望将我的应用程序部署在带有不同目录树的 openshift 上。我已经能够成功运行此快速入门: git://github.com/rancavil/django-openshift-quickstart.git

基本上,我试图实现的是一个包装器目录(和 git 项目),它基于 #2 中指定的 repo。在这个包装器中,一个子目录(wsgi/my_project)应该基于我在#1 中指定的私有仓库。 我希望能够从私有 repo 中提取最近的更改,然后推送并部署到 openshift 这些更改。

任何帮助将不胜感激!

【问题讨论】:

    标签: django openshift


    【解决方案1】:

    我也在为 openshift 结构而苦苦挣扎。但是没有必要像你提议的那样做员工。

    您可以拥有任何您想要的项目结构。 Openshift 将只需要 wsgi/application 或 wsgi.py 作为入口点。我认为在您的项目中再添加一个文件几乎不是问题。

    我当前的项目结构(最近运行)如下:

    |- .openshift (directory for build and deployment hooks like syncdb or collectstatic commands)
    |- custom_project (directory that is you django project)
      \- templates
      |- settings.py
      |- urls.py
    |- manage.py
    |- requirements.txt
    |- wsgi.py
    

    wsgi 文件夹下确实不需要有项目。然而,还有几个陷阱需要注意。比如创建静态文件夹或为静态文件设置 .htaccess。

    包括我的wsgi.py:

    #!/usr/bin/python
    import os
    import logging
    try:
        virtenv = os.environ['OPENSHIFT_PYTHON_DIR'] + '/virtenv/'
        virtualenv = os.path.join(virtenv, 'bin/activate_this.py')
        execfile(virtualenv, dict(__file__=virtualenv))
    except (IOError, KeyError):
        pass
    
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", 'custom_project.settings')
    from django.core.wsgi import get_wsgi_application
    application = get_wsgi_application()
    

    我使用了很多资源来让我的项目在 openshift 上运行,所以我也将它们包括在内。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-22
      • 1970-01-01
      相关资源
      最近更新 更多