歡迎光臨
每天分享高質量文章

谷歌開源 Java 容器化工具,名字就叫——Jib

開源最前線(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獲取文章目錄

贊(0)

分享創造快樂