部署操作挂钩在 openshift 中不起作用
deploy action hook not working in openshift
我有一个曾经在 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 在那里,所以我不明白为什么这不起作用。
我怀疑你对前面一行的看法是错误的。我敢打赌 "cd" 并没有按照您的想法行事。
作为 "cd" 之前的行,在您的 bash 脚本中,放入 set -e
并永远保留在那里。如果一个命令失败,那么后面的一切都可能是错误的。不要让它继续下去。
作为下一行,输入 set -x
并在您查看它的实际作用时将其留在那里。您应该稍后将其删除。
最后,会得到你的,set -u
。尝试使用未设置变量的值失败。这可能是这里的问题。任何应该设置 "OPENSHIFT_HOMEDIR" 的东西都没有这样做。这就是你的问题,我预测。
此外,将 pwd
和 ls
放在 "python" 行之前。根据脚本,看看那里到底有什么。
我有一个曾经在 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 在那里,所以我不明白为什么这不起作用。
我怀疑你对前面一行的看法是错误的。我敢打赌 "cd" 并没有按照您的想法行事。
作为 "cd" 之前的行,在您的 bash 脚本中,放入 set -e
并永远保留在那里。如果一个命令失败,那么后面的一切都可能是错误的。不要让它继续下去。
作为下一行,输入 set -x
并在您查看它的实际作用时将其留在那里。您应该稍后将其删除。
最后,会得到你的,set -u
。尝试使用未设置变量的值失败。这可能是这里的问题。任何应该设置 "OPENSHIFT_HOMEDIR" 的东西都没有这样做。这就是你的问题,我预测。
此外,将 pwd
和 ls
放在 "python" 行之前。根据脚本,看看那里到底有什么。