コードをプッシュ。あとはビルドパックにお任せ。
BuildはCloud Native Buildpacks、Paketo、すべてのHerokuビルドパックに対応。アプリは変更なしでビルド・実行できます。
オープンなビルドパック標準を採用
ビルドパックはソースコードを実行可能なアプリイメージに変換します。言語を検出し、依存関係をインストールし、プッシュのたびに本番対応のビルドを生成します。
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で動作します。
Herokuスタックと直接互換
Buildはおなじみのスタックをそのまま実行します:heroku-20、heroku-22、heroku-24、heroku-26。
オープン標準の礎となったHerokuビルドパックは、そのままBuild上で動作します。Herokuからアプリを移行する際は既存のビルドプロセスをそのまま維持できます。
Buildでのビルドパックの仕組みを見る人気のコミュニティビルドパック
BuildはHerokuコミュニティビルドパックをそのまま実行できます。以下はコミュニティディレクトリで特に人気が高く、活発にメンテナンスされているビルドパックです。必要なものが古くなっている場合は、代替の検索やメンテナンスをお手伝いします。
Dockerfileを使いたい場合も対応しています。
Buildではビルドパックが最短ルートですが、それだけではありません。イメージを細かく制御したい場合は、Dockerfileやコンテナイメージから直接デプロイできます。
よくある質問
buildpack とは何ですか
アプリケーションのソースコードを、実行可能なアプリイメージに変換する仕組みです。言語を判別し、依存関係をインストールし、本番向けのビルドを生成します。これを buildpack と呼びます。2011年に Heroku が先駆けて導入し、現在は CNCF の標準になっています。
Cloud Native Buildpacks(CNB)に対応していますか
完全に対応しています。Cloud Native Buildpacks は CNCF が定めるオープンな標準で、Paketo プロジェクトの buildpack や、CNB に準拠した他のビルダーも利用できます。
Heroku の buildpack は Build で使えますか
はい、使えます。従来の Heroku buildpack は、そのまま Build で動きます。公式にサポートされている言語向けのものも、コミュニティ製のものも同様です。ほとんどのアプリは、ビルドの手順をまったく変えずに Heroku から移行できます。
Heroku のどのスタックに対応していますか
heroku-20、heroku-22、heroku-24 に対応しており、今後登場する heroku-26 への対応も予定しています。
独自の buildpack やサードパーティ製の buildpack を使えますか
はい、使えます。公開されている buildpack リポジトリであれば利用でき、1つのアプリで複数の buildpack を組み合わせることもできます。たとえば apt を言語用の buildpack と併用する使い方です。設定方法は buildpack のガイドをご覧ください。
デプロイに Dockerfile は必要ですか
いいえ、必要ありません。buildpack が Dockerfile なしでソースから直接ビルドしてデプロイします。コンテナを使いたい場合は、Dockerfile とコンテナイメージによるデプロイにも完全対応しています。