開源最前線(ID:OpenSourceTop) 猿妹編譯
連結:https://cloudplatform.googleblog.com/2018/07/introducing-jib-build-java-docker-images-better.html
谷歌雲平臺官方部落格宣佈釋出了新的開源工具 Jib,一款快速而簡單的容器映象構建工具,能使容器技術和 Java 程式語言更加無縫地協同工作,使 Java 開發人員能更輕鬆地跨用例部署和控制 Java 應用程式。
容器映象構建工具Jib
授權協議:Apache 2.0
開發語言:Java
作業系統:跨平臺
開發廠商:Google
Github:github.com/GoogleContainerTools/jib
在釋出的部落格文章中,Google 軟體工程師 Appu Goundan 和 Qingyang Chen 對 Jib 進行了詳細的介紹,以下為部落格文章內容:
容器技術使得Java人員比以往都更接近“一次編寫,隨處執行”的工作流程,但要容器化Java應用程式卻不是一件簡單的事:你必須編寫Dockerfile,以root身份執行Docker守護程式,等待構建完成,最後將影象推送到遠端登錄檔。並非所有Java開發人員都是容器專家;容器化Java應用程式,並不是建一個JAR包那麼簡單
為了應對這一挑戰,谷歌釋出了Java容器 Jib,允許Java開發人員使用他們所知道的Java工具構建容器。Jib是一個快速而簡單的容器映象構建器,它可以處理應用程式打包到容器映像中的所有步驟。它不需要開發者編寫Dockerfile或安裝Docker,它直接整合到Maven和Gradle中 -開發者只需將外掛新增到構建中,就可以立即將Java應用程式容器化。
Docker構建流程:
Jib構建流程:
Jib如何使最佳化開發過程
Jib利用Docker映象中的分層功能,並與構建系統整合,以透過以下方式最佳化Java容器映像構建:
1、簡單 – Jib在Java中實現,並作為Maven或Gradle構建的一部分執行。你不需要維護Dockerfile、執行Docker守護程式,甚至無需建立具有所有依賴項的JAR。由於Jib與你的Java構建緊密整合,因此它可以訪問打包應用程式所需的所有資訊。在後續容器構建期間,將自動選擇Java構建中的任何變體。
2、快速 – Jib利用影象分層和註冊錶快取來實現快速,增量構建。它能夠讀取你的構建配置,將你的應用程式組織到不同的層(依賴項,資源,類)中,並僅重建和推送已更改的層。在專案上快速迭代時,Jib可以僅將已更改的層推送到登錄檔,以此來節省構建時間
3、可重現 – Jib支援從Maven和Gradle構建元資料以宣告方式構建容器影象,因此可以配置為只要輸入保持不變,就可以透過配置建立可重現的構建映象。
如何使用Jib來容器化Java應用程式
Jib可作為Maven和Gradle的外掛使用,並且需要最少的配置。只需將外掛新增到構建定義中並配置標的映象即可。如果要構建到私有登錄檔,請確保使用登錄檔配置Jib。最簡單的方法是使用docker-credential-gcr之類的憑證助手。如果需要,Jib還提供了用於為Docker守護程式構建映像的其他規則。
Jib on Maven:
<plugin>
<groupId>com.google.cloud.toolsgroupId>
<artifactId>jib-maven-pluginartifactId>
<version>0.9.0version>
<configuration>
<to>
<image>gcr.io/my-project/image-built-with-jibimage>
to>
configuration>
plugin>
# Builds to a container image registry.
$ mvn compile jib:build
# Builds to a Docker daemon.
$ mvn compile jib:dockerBuild
Jib on Gradle:
plugins {
id 'com.google.cloud.tools.jib' version '0.9.0'
}
jib.to.image = 'gcr.io/my-project/image-built-with-jib'
# Builds to a container image registry.
$ gradle jib
# Builds to a Docker daemon.
$ gradle jibDockerBuild
Jib 使 Java 開發人員更容易使用容器,可以進一步擴充套件企業對容器技術的採用。Jib 可在絕大多數雲廠商提供的雲中使用。
●編號736,輸入編號直達本文
●輸入m獲取文章目錄