2015-01-15 28 views
0

我有一个用于在Openshift中工作的deploy action_hook。最近路径似乎不工作(截至今天)。 shell脚本是这样的:部署操作挂钩在openshift中不起作用

#!/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在那里,所以我不明白为什么这不起作用。

回答

4

我怀疑你是错误的早期行。我敢打赌,“CD”并不是在做你的想法。

由于“cd”之前的行,在你的bash脚本中,把set -e放在那里永远留在那里。如果一个命令失败了,之后的所有内容都可能是错不要让它继续下去。

作为下一行,把set -x放在那里,而你看看它真的在做什么。您应该稍后再删除它。

最后,那个会给你带来的,set -u。尝试使用未设置变量的值时失败。这可能是这里的问题。无论设置“OPENSHIFT_HOMEDIR”是不是这样做。我预测你的问题。

另外,在你的“python”行之前加上pwdls。根据脚本,看看真的有什么。

+0

谢谢,我将EOL从Windows更改为UNIX,现在正在工作。我会研究set -e和set -x命令(对bash脚本来说是新的) –