Python 部署操作挂钩在openshift中不起作用
我有一个用于Openshift的部署操作钩子。最近这些路径似乎不起作用(截至今天)。shell脚本如下所示: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'"
#!/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脚本的新功能)