2012-04-23 22 views
1

我已經成功部署了一個grails應用程序到Heroku當前支持的雪松堆棧。在heroku應用上更新grails插件或重置堆棧

然而,生成戰爭運行

grails -plain-output -Divy.default.ivy.user.dir=/app/tmp/repo.git/.cache war 

其中不包括--non-interactive選項,這樣當需要更新插件,Grails提供的提示,這個問題的答案:

You currently already have a version of the plugin installed [resources-1.0.2]. Do you want to update to [resources-1.1.5]? [y,n] 

由於Heroku在運行遠程命令時不接受輸入,因此無法回答此問題並且部署被中止。

添加--non-interactive選項是不太可能的(儘管這將是首選方法),所以我想「重置」雪松堆棧到其初始狀態。 Heroku的開發中心沒有多大幫助,有人知道這可以實現嗎?

+0

「由於運行遠程命令時的Heroku不接受輸入」 - 你想什麼命令這裏? 'heroku run'確實打開了一個完全互動的會話,可以響應用戶的輸入。 – 2012-04-23 19:53:55

+0

謝謝,我試過''heroku運行「grails -Divy.default.ivy.user.dir =/app/tmp/repo.git/.cache compile」'但是剛剛得到'sh:grails:not found' – Esteban 2012-04-23 20:06:02

回答

1

有一個啓動grails緩存的選項。您應該可以使用它來解決此問題,方法是簽入一個空目錄並有效清除緩存。只需添加一個名爲ivy-cache的空目錄並將其檢入到項目的根目錄。

我還開上了構建包的問題,​​以取得中添加的--non交互式標誌:https://github.com/heroku/heroku-buildpack-grails/issues/15