【Cloud Native Buildpacks】Paketoでjavaアプリをビルドしてみる

スポンサーリンク

はじめに

Cloud Native Buildpacksを実現する一つであるPaketo Buildpacksを使ってjavaアプリのビルドをしてみます。

Cloud Native Buildpacksについては、下記でざっくり解説しています。

Cloud Native Buildpacksについてざっくり理解する
はじめにCloudNativeBuildpacksについてざっくり解説し、実際に使ってどんなことができるか試してみたいと思います。CloudNativeBuildpacksとはCloudNativeBuildpacksとは、アプリケーション...

Paketo Buildpacksとは

Paketo Buildpacksとは、Cloud Native Buildpacksを実現するプロジェクトの一つです。

主要な言語やフレームワークのbuildpackやbuilder、stackなどが提供されています。

Paketo Buildpacks - Paketo Buildpacks

Githubには各言語やフレームワーク用のbuildpacksのリポジトリがあります。

Paketo Buildpacks
CloudNativeBuildpackimplementationsforpopularprogramminglanguageecosystems-PaketoBuildpacks

Builder

Builderはfullbasetinyの3種類が用意されています。

  • paketobuildpacks/builder:full
  • paketobuildpacks/builder:base
  • paketobuildpacks/builder:tiny
Builders - Paketo Buildpacks

javaアプリをビルドしてみる

実際にPaketo Buildpacksを使って、javaアプリのビルドをしてみたいと思います。

今回利用するサンプルアプリはPaketo Buildpacksのサンプルアプリ(Java Maven Sample Application)を利用します。

samples/java/maven at main · paketo-buildpacks/samples
Acollectionofsamples.Contributetopaketo-buildpacks/samplesdevelopmentbycreatinganaccountonGitHub.

まずはcloneして、ディレクトリを移動します。

git clone https://github.com/paketo-buildpacks/samples
cd java/maven

今回はbaseのBuilderをデフォルトとして設定します。

pack config default-builder paketobuildpacks/builder:base

packコマンドでビルドします。

pack build paketo-maven-app

イメージを確認してみると、作成されたのがわかります。

❯ docker image ls
REPOSITORY        TAG      IMAGE ID       CREATED         SIZE
paketo-maven-app  latest   1268838af761   42 years ago    264MB

ビルドしたイメージを使ってコンテナを実行します。

docker run -d -p 8080:8080 -e PORT=8080 paketo-maven-app

curlを使って確認すると、アプリケーションが起動しているのが確認できます。

❯ curl -s http://localhost:8080/actuator/health | jq .

{
  "status": "UP"
}

参考

タイトルとURLをコピーしました