去年Google發布Jib測試版,讓開發者簡單地將Java應用程式打包成Docker映像檔,經過一番更新後,現在釋出了Jib 1.0正式版,除了提升穩定性外,還支援WAR專案並整合Skaffold,還釋出Java的容器建置函式庫Jib Core。

Jib是一個開源的Java應用布建工具,讓開發人員不需要安裝Docker、執行Docker守護行程(Daemon)或是編寫Dockerfile,只要在Maven和Gradle建置中使用插件並執行建置,就可以輕鬆地容器化Java應用程式。Jib使用建置訊息快速自動容器化應用程式,讓開發人員建置Java容器能像是打包JAR一樣簡單。

在Java中,網頁應用程式經常被打包成WAR(Web Application Resource)檔案,而現在Jib 1.0也支援容器化WAR專案,無論開發者使用Maven或是Gradle,都不需要進行額外的設定。Google提到,雖然在容器中預設應用程式伺服器是使用Jetty,但開發者也可以設定基本映像檔與appRoot,使用諸如Tomcat等其他伺服器。

Google在去年發布的開源自動部署工具Skaffold,可以自動偵測程式碼變更,並進行一連串的建置、推送並部署應用程式到Kubernetes叢集上,讓使用者能夠簡單地對Kubernetes應用程式,進行持續開發工作。

而現在Google整合Skaffold與Jib,Jib可以作為Skaffold中的建置器。要在Java專案中使用Skaffold,只要安裝Skaffold,並為專案編寫skaffold.yaml。Skaffold可以為使用者減少每次更改程式碼後,重建和重新部署應用程式的繁瑣手續,Skaffold可以在偵測到Jib容器化應用程式發生變更時,執行部署到Kubernetes叢集的動作。

除了新版Jib釋出外,Google還釋出了Java建置Docker映像檔的函式庫Jib Core,Jib Core是之前Google內部用來建置容器映像檔的通用函式庫,現在經過了一些API修改後對外釋出。Jib Core是可用於建置Docker和OCI容器映像檔的Java函式庫,其特點在於他是一個通用容器建構器,因此現在Jib不只可以在Maven和Gradle中作為插件使用,還能在沒有Docker守護行程的狀況下,在Java中為任何應用程式建置容器。

Google提醒,目前Jib Core的API仍然處在Alpha階段,隨時都可能發生重大改變。


Advertisement

更多 iThome相關內容