2012-07-16 105 views
2

我非常喜歡通過推入git來部署heroku應用程序的方式。有沒有辦法在Java中使用這種部署?heroku以外的Git部署

P.S.我有一個小應用程序部署到tomcat服務器。我不需要分發和其他東西。

+1

我猜如果你控制你部署到的服務器,你可以在接收端(在服務器端)使用post-receive githooks來實現部署功能,然後只需要'git push'到服務器,只需就像在heroku上。 – Frost 2012-07-16 10:17:31

+0

@Frost我想要一個可以使用的解決方案。我只是沒有時間自己破解腳本。我敢打賭,有人在我面前解決了這個問題。 – 2012-07-16 10:19:48

+0

@KonstantinSolomatov - 正如其他人所暗示的,後接收鉤子可以簡單地做到這一點。使用它來調用你的*現有*構建腳本來構建新的代碼作爲戰爭(或其他適用的)。 PS:下調其他人,因爲你不*喜歡*他們的答案是不好的形式。如果你不喜歡他們,我建議他們不要高估他們。 – elithrar 2012-07-18 03:12:00

回答

1

由於Java是一種編譯語言,因此您不像使用ruby和其他語言那樣簡單地部署代碼。

看看AppHarbour,因爲他們是這樣爲C#做的,從那裏看看是否有人爲Java提供相同的東西。

0

您可以使用像Jenkins有了這個軟件,你可以做一個混帳拉然後構建戰爭文件和它可以擴展系統並執行通過SSH的文件複製到你的服務器的腳本例如,並重新啓動你的tomcat。

在詹金斯你有很多的插件。

還有一些其他的部署軟件,但他們都花了很多錢。

+0

我明白這是如何做到的。我只想要一個現成的解決方案。我想運行某種守護進程,它將查找git中的更改,並將該項目構建並部署到服務器上的war目錄。 – 2012-07-16 10:36:25

+0

這是不可能的。你應該自己做。但是我想你知道你什麼時候做出改變並且可以開始詹金斯。其他解決方案是建立一個鉤子。但是,你必須編寫腳本。 – Stony 2012-07-16 10:47:45

0

您應該看看構建自動化DSL,如Buildr,Gradle。 您可能會在您的環境下自動執行部署過程。

應遵循的首要目標是建立一個構建自動化系統,讓您一鍵部署(或1-命令部署)

接下來的步驟你實現一個Continuous Integration系統。

+0

我有持續集成。我只想用一種類似於heroku的方式來控制部署 – 2012-07-16 11:47:02