2017-04-23 59 views
0

假設我製作java spring引導應用程序時,它需要jar。用於彈簧啓動的雲代工廠依賴性罐子

但是當我部署我的應用程序到Cloud Foundry將所有的罐子得到建立與我的應用程序,然後進入到Cloud Foundry或雲代工通過觀察POM等 我所看到的build文件夾提供了罐子的依賴,但罐子沒有,所以它是如何工作的。 我是新的雲代工廠,所以如果有人可以清除我的疑問。

回答

2

對於大多數應用程序類型和構建包,當您將應用程序推送到Cloud Foundry時,您需要推送源代碼,並且必要時可以在構建包的暫存過程中編譯源代碼。例如,使用Golang構建包,您可以推送Go源代碼,並在分段中編譯然後運行。

此規則的兩個例外是Java構建包和二進制構建包。這兩個構建包假設你正在編譯位,並且不爲你編譯任何東西。

就Java而言,這意味着您要在本地或您的CI系統上運行Maven,Gradle或其他一些構建系統來生成可部署的工件。這可以是WAR文件或JAR文件或其他一些東西(有關其他支持的格式,請參閱Java build pack docs上的「標準容器」)。不管格式如何,它都需要是一個完整的可部署單元,因此需要包含所有相關的庫。

作爲一個方面說明,cf cli有一個很好的功能,有助於加快cf push進程並節省帶寬。它將任何正在上傳的文件與超過65k大小的文件(默認,操作員可以更改此內容)匹配到雲控制器上緩存的文件。如果本地文件已存在於緩存中,則不會再次上載。這適用於依賴JAR文件,這些文件在推送之間不會經常變化。

+0

非常感謝丹尼爾的努力和共享的知識。 – pradeep

1

Spring Boot應用程序通常使用Spring Boot maven或gradle插件打包爲「胖罐」。應用程序代碼和所有相關的jar包被打包到一個jar文件中。

當部署Java應用程序時,Cloud Foundry不會下載相關的jar。應用程序的責任是將所有依賴關係與它聯繫起來。

+0

非常感謝斯科特 - 很好,清脆,清晰 – pradeep