我在我的django应用程序中使用django-haystack和嗖嗖搜索引擎。一切正常,除非我git push
新版本到我的OpenShift服务器,搜索停止工作。它根本不会返回任何结果。如果我运行./manage.py update_index
,它就会开始工作
我的whoosh_index/
文件中有.gitignore
。我检查了git ls-files
并且没有whoosh_index文件夹。所以我的localhost文件不应该覆盖任何whoosh_index文件
目前我使用post_deploy
脚本:
echo "Executing 'python ${OPENSHIFT_REPO_DIR}wsgi/app/manage.py update_index'"
python "$OPENSHIFT_REPO_DIR"wsgi/app/manage.py update_index
但是还有另一种方法,以便每次推送我的应用程序的新版本时都不需要update_index吗?我错过了什么?
答案 0 :(得分:0)
所有OpenShift应用程序都围绕Git源代码控制工作流程构建 - 您在本地编码,然后将更改推送到服务器。该 服务器然后运行一些钩子来构建和配置你的 应用程序,最后重新启动您的应用程序。可选 应用程序可以选择使用Jenkins构建,也可以使用hot运行 部署加速了OpenShift代码的部署。
完成更改分为5个阶段:
您可以通过将索引更新操作添加到文件中来将其添加到构建阶段:
.openshift/action_hooks/build
您可以通过需要热部署模式来禁用修改开放班次的整个操作:
$ touch .openshift/markers/hot_deploy
通过热部署,将应用对应用程序代码的更改 无需重新启动应用程序盒,导致增加 部署速度和最小化的应用程序停机时间。