コードをプッシュ。あとはビルドパックにお任せ。

BuildはCloud Native Buildpacks、Paketo、すべてのHerokuビルドパックに対応。アプリは変更なしでビルド・実行できます。

Cloud Native Buildpacks

オープンなビルドパック標準を採用

ビルドパックはソースコードを実行可能なアプリイメージに変換します。言語を検出し、依存関係をインストールし、プッシュのたびに本番対応のビルドを生成します。

BuildはHerokuのオリジナルビルドパックから生まれたオープンなCNCF標準、Cloud Native Buildpacks(CNB)を完全サポートしています。Paketoビルドパックやその他のCNB準拠ビルダーにも対応しています。

詳しくはbuildpacks.ioへ

> git push build main

-----> Building with buildpack heroku/ruby

-----> Installing Ruby 3.3

-----> Installing dependencies with Bundler

-----> Build succeeded. Releasing v42

公式サポートのビルドパック

Herokuが公式サポートするすべての言語ビルドパックが、そのままBuildで動作します。

Ruby

Rails、Sinatraなど、BundlerベースのあらゆるRubyアプリ。GemfileからRubyバージョンを自動検出します。

Node.js

Express、Next.jsなど、npm・Yarn・pnpmを使うNode.jsアプリ。ロックファイルに基づいて依存関係をインストールします。

Python

pip・Pipenv・PoetryでインストールするDjango、Flask、FastAPIアプリ。Pythonバージョンを自動選択します。

Java

Spring Bootを含むMavenベースのJavaアプリ。JDKバージョンはsystem.propertiesで指定できます。

PHP

Laravel、Symfonyなど、ComposerベースのPHPアプリ。PHP拡張とApache・nginxに対応します。

Go

GoモジュールからビルドするGoアプリ。go.modからGoバージョンを読み取ります。

Scala

sbtでコンパイルするScala・Play Frameworkアプリ。

Clojure

LeiningenでビルドするClojureアプリ。ビルド間で依存関係をキャッシュします。

Gradle

GradleでビルドするJava・Kotlin・Groovyアプリ。Spring BootなどのJVMフレームワークにも対応。

.NET

.NET SDKでビルドするASP.NET Core上のC#・F#アプリ。

Heroku互換

Herokuスタックと直接互換

Buildはおなじみのスタックをそのまま実行します:heroku-20、heroku-22、heroku-24。今後のheroku-26にも対応予定です。

オープン標準の礎となったHerokuビルドパックは、そのままBuild上で動作します。Herokuからアプリを移行する際は既存のビルドプロセスをそのまま維持できます。

Buildでのビルドパックの仕組みを見る
heroku-20 heroku-22 heroku-24 heroku-26 (近日対応)

人気のコミュニティビルドパック

BuildはHerokuコミュニティビルドパックをそのまま実行できます。以下はコミュニティディレクトリで特に人気が高く、活発にメンテナンスされているビルドパックです。必要なものが古くなっている場合は、代替の検索やメンテナンスをお手伝いします。

ffmpeg

最新のffmpegによる音声・動画処理。

apt

DebianやUbuntuのパッケージをビルドにインストール。

jq

jqによるコマンドラインでのJSON処理。

p7zip

7-Zipによるアーカイブの圧縮・展開。

WebP binaries

WebP画像変換用のcwebp・dwebpバイナリ。

create-react-app

create-react-appで生成したReactアプリをデプロイ。

Datadog

Datadogエージェントをアプリと並行稼働させ、メトリクスとAPMを取得。

ImageMagick

最新のImageMagickによる画像処理。

pdftotext

popplerのpdftotextでPDFからテキストを抽出。

Puppeteer

PuppeteerとヘッドレスChromeの自動化に必要な依存関係。

subdir

リポジトリのサブディレクトリをプロジェクトルートとしてデプロイ。

PgBouncer

PostgreSQL向けのサーバーサイド接続プーリング。

必要なビルドパックが見つかりませんか?

必要なものをお知らせください。コミュニティビルドパックが古くなっている場合や、カスタムが必要な場合もお手伝いします。

お問い合わせ

よくある質問

ビルドパックとは何ですか?

ビルドパックはアプリケーションのソースコードを実行可能なアプリイメージに変換します。言語を検出し、依存関係をインストールし、本番対応のビルドを出力します。ビルドパックは2011年にHerokuが生み出し、現在はCloud Native BuildpacksとしてCNCFが管理するオープン標準になっています。

BuildはCloud Native Buildpacks(CNB)に対応していますか?

はい。BuildはオープンなCNCF標準であるCloud Native Buildpacksを完全サポートしており、Paketoプロジェクトのビルドパックやその他のCNB準拠ビルダーにも対応しています。

HerokuビルドパックはBuildと互換性がありますか?

はい。Buildは公式サポートの言語ビルドパックとコミュニティビルドパックの両方を含む、クラシックHerokuビルドパックと直接互換性があります。ほとんどのアプリはビルドプロセスを変更せずにHerokuから移行できます。

BuildはどのHerokuスタックに対応していますか?

Buildはheroku-20、heroku-22、heroku-24スタックに対応しており、今後のheroku-26スタックへの対応も予定しています。

カスタムやサードパーティのビルドパックは使えますか?

はい。Buildは任意の公開ビルドパックリポジトリを利用でき、1つのアプリで複数のビルドパックを組み合わせることもできます(例:言語ビルドパックと併用するapt)。セットアップはビルドパックガイドをご覧ください。

BuildへのデプロイにDockerfileは必要ですか?

いいえ。ビルドパックはDockerfileなしでソースから直接アプリをビルド・デプロイします。コンテナを使いたい場合は、Dockerfileやコンテナイメージによるデプロイも完全サポートしています。