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

2022.04.09
2024.03.24
コンテナ
Cloud Native BuildpacksJavaPaketo Buildpacks

はじめに

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

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

unknown link

Paketo Buildpacksとは

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

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

Paketo Buildpacks

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

Paketo Buildpacks

Paketo Buildpacks

Cloud Native Buildpack implementations for popular programming language ecosystems - Paketo Buildpacks

Builder

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

  • paketobuildpacks/builder
  • paketobuildpacks/builder
  • paketobuildpacks/builder

Builders

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

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

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

samples/java/maven at main · paketo-buildpacks/samples

samples/java/maven at main · paketo-buildpacks/samples

A collection of samples. Contribute to paketo-buildpacks/samples development by creating an account on GitHub.

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

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

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

1pack config default-builder paketobuildpacks/builder:base

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

1pack build paketo-maven-app

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

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

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

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

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

1curl -s http://localhost:8080/actuator/health | jq .
2
3{
4  "status": "UP"
5}

参考

Support

\ この記事が役に立ったと思ったら、サポートお願いします! /

buy me a coffee
Share

Profile

author

Masa

都内のIT企業で働くエンジニア
自分が学んだことをブログでわかりやすく発信していきながらスキルアップを目指していきます!

buy me a coffee