Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 部署操作挂钩在openshift中不起作用_Python_Django_Ssh_Openshift - Fatal编程技术网

Python 部署操作挂钩在openshift中不起作用

Python 部署操作挂钩在openshift中不起作用,python,django,ssh,openshift,Python,Django,Ssh,Openshift,我有一个用于Openshift的部署操作钩子。最近这些路径似乎不起作用(截至今天)。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'"

我有一个用于Openshift的部署操作钩子。最近这些路径似乎不起作用(截至今天)。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
当我在openshift上SSH到应用程序中运行此操作时,我得到错误:

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

我已使用chmod 777更改了权限,但它不会运行它。有人知道为什么以前这些路径在过去有效时会发生这种情况吗?我已将cd插入$OPEN\u SHIFT\u REPO\u DIR,并且manage.py在那里,因此我不明白为什么这不起作用。

我怀疑您之前的一行是错的。我打赌“cd”并不是你想的那样

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

作为下一行,将
set-x
放在那里,同时查看它到底在做什么。您应该稍后删除它

最后,将要为您提供的是,
set-u
。尝试使用未设置变量的值时失败。这可能就是问题所在。任何应该设置“OPENSHIFT\u HOMEDIR”的东西都不起作用。我想这是你的问题


另外,将
pwd
ls
放在“python”行之前。根据剧本,看看到底是什么。

我怀疑你之前的一行说错了。我打赌“cd”并不是你想的那样

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

作为下一行,将
set-x
放在那里,同时查看它到底在做什么。您应该稍后删除它

最后,将要为您提供的是,
set-u
。尝试使用未设置变量的值时失败。这可能就是问题所在。任何应该设置“OPENSHIFT\u HOMEDIR”的东西都不起作用。我想这是你的问题


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

谢谢,我将EOL从windows更改为UNIX,现在可以工作了。我将研究set-e和set-x命令(bash脚本中的新命令),谢谢,我将EOL从windows更改为UNIX,现在可以工作了。我将研究set-e和set-x命令(bash脚本的新功能)