2013-02-05 28 views
4

當我在OpenShift中創建一個測試DIY應用程序時,action_hooks工作正常,但現在我創建了一個實際的應用程序,當我推送更改時它們不會啓動。OpenShift action_hooks不可執行

我做了一些調查,發現問題 - 出於某種原因,操作掛鉤不可執行。我檢查了它們,它們在測試應用程序(他們工作的地方)中是可執行的 - 但現在它們不是。

chmod因爲每次我推送一些更改OpenShift將新的repo文件夾複製到舊的(而不是使用git來更新它),所以權限被重置。我看着使用git的post-receive掛鉤使它們可執行,但OpenShift上的git掛鉤受到保護,我無法編輯它們。

有什麼辦法可以解決這個問題嗎?

PS。我不知道它是否有任何影響,但我的實際開發回購在Google Code上,我用this tutorial將OpenShift repo設置爲本地回購的上游。

回答

1

好的,我想通了。

當我創建應用程序時,我不是編輯動作鉤子,而是從第一個應用程序(我創建的應用程序試用OpenShift DIY)的倉庫複製動作鉤子。我認爲發生的事情是,Git檢測到文件已被替換,未被編輯,並將它們視爲新文件。 OpenShift以某種方式讀取它,並沒有給他們原始文件的執行權限。

爲了解決這個問題,我跟着this answer從OpenShift Template Builder的提交中恢復舊文件,現在它工作!

+0

還沒有嘗試過,但這裏的Windows解決方案也可能適用於Linux:http://openshift.github.io/documentation/oo_cartridge_developers_guide.html#notes-on-script-execution –

+1

這裏有一個實際的解決方案,用於設置文件權限通過Git:http://stackoverflow.com/a/7048915/794380。 –

4

在JBoss Tools的OpenShift工具中,我們遇到了同樣的問題。我們的實現是重置鉤子文件的執行權限,導致鉤子被忽略:https://issues.jboss.org/browse/JBIDE-13217 在我們的案例中,再次使用+ x解決了這個問題。你似乎報告一些回購正在複製你的,這我真的沒有得到。這是怎麼發生在你身上的?它可以幫助你,如果你可以顯示你的一些設置?

+0

嗯,這是我的GoogleCode存儲庫:https://code.google.com/p/ilender/source/browse/。我認爲問題出在OpenShift服務器上的配置中。如果你給我你的公鑰,我可以將它添加到允許的密鑰中,讓你進入SSH。 –