2015-01-15 85 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腳本來說是新的) –