【问题标题】:deploy action hook not working in openshift部署动作挂钩在 openshift 中不起作用
【发布时间】:2015-01-16 03:17:25
【问题描述】:

我有一个曾经在 Openshift 中工作的部署 action_hook。最近这些路径似乎不起作用(截至今天)。 shell 脚本如下所示:

#!/bin/bash
#this one is the deploy hook .openshift/action_hooks/deploy
source $OPENSHIFT_HOMEDIR/python/virtenv/bin/activate
cd $OPENSHIFT_REPO_DIR/

echo "Executing 'python manage.py migrate'"
python manage.py migrate
echo "Executing 'python manage.py syncdb'"
python manage.py syncdb
########################### end of file

当我通过 SSH 连接到 openshift 上的应用程序来运行它时,我得到了错误:

python: can't open file 'manage.py': [Errno 2] No such file or directory

我已使用 chmod 777 更改了权限,但它不会运行它。有谁知道为什么以前这些路径在过去有效时会发生这种情况?我已经 cd 编辑到 $OPEN_SHIFT_REPO_DIR 并且 manage.py 在那里,所以我不明白为什么这不起作用。

【问题讨论】:

    标签: python django ssh openshift


    【解决方案1】:

    我怀疑你对前面的行有误。我敢打赌“cd”并没有按照你的想法做。

    作为“cd”之前的行,在您的 bash 脚本中,输入 set -e 并将其永远保留在那里。如果命令失败,那么之后的一切都可能是错误的。不要让它继续下去。

    作为下一行,输入set -x 并将其留在那里,同时查看它的实际作用。您应该稍后将其删除。

    最后,会得到你的,set -u。尝试使用未设置变量的值失败。这可能就是这里的问题。任何应该设置“OPENSHIFT_HOMEDIR”的东西都没有这样做。我猜是你的问题。

    另外,将pwdls 放在“python”行之前。根据脚本,看看那里到底有什么。

    【讨论】:

    • 谢谢,我将 EOL 从 Windows 更改为 UNIX,现在可以正常工作了。我将研究 set -e 和 set -x 命令(bash 脚本的新手)
    猜你喜欢
    • 2014-07-04
    • 2013-03-27
    • 2014-05-22
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多