2022年9月のアプリケーションホスティング導入の際、リポジトリに基づきコンテナイメージをセットアップする2つの方法が用意されました。1つはコンテナイメージのセットアップ自動化にBuildpacksを使用する方法で、もう1つはDockerfileを使用する方法です。

そしてこのたび、新たにNixpacksへの対応をお知らせします。アプリケーションホスティング改善を支える強力なツールと技術を提供し続けるのがKinstaのモットーです。これに則り、今回はリポジトリのNixpacksを用いて、自動でアプリケーションのコンテナイメージを作成することができるようになりました。

Nixpacksとは

Buildpacksと同様に、Nixpacksはオープンソースプロジェクトで、リポジトリに基づいてアプリケーションのコンテナイメージを作成することができます。NixpacksスクリプトはNixバイナリを使用してアプリケーションのビルド、依存関係のインストール、アプリケーションデプロイ時の環境設定を行います。Rustで記述され、Buildpacksよりもビルド時間が高速です。

標準化の行き届いた、かつ効率的な流れで、Gitサービス(BitBucketGitHubGitLab)からソースディレクトリを取得し、アプリケーションの言語、フレームワーク、ランタイムの依存関係を自動的に検出することで、アプリケーションをパッケージ化、ビルドします。そして、アプリケーションの実行に必要なすべてを含む、実行可能なアーティファクト(コンテナイメージなど)が作成されます。

Buildpacksと比較してNixpacksを使用する主な利点の1つとして、ビルド用のビルトインキャッシュシステムが挙げられます。これにより、インストールとビルドの段階でディレクトリをキャッシュでき、最初のビルドの完了後、その後のビルドがはるかに高速になります。

KinstaでのNixpacksによるコンテナイメージのビルド

Kinstaでアプリケーションを追加するとき、Nixpacksを使用して、リポジトリに基づいてアプリケーションのコンテナを自動的に決定、作成することができます。

Nixpacksを使用してコンテナイメージを設定する
Nixpacksを使用してコンテナイメージを設定する

リソース効率の良いコードコンパイル、ビルドとデプロイの高速化、言語とフレームワークの広範なサポートという特徴から、Nixpacksの使用をお勧めします。

また、リポジトリのルートとは異なるディレクトリをビルドソースとして使用する場合は、必ずビルドパスを指定してください。

Nixpacksを使用する場合、ソースディレクトリ内のファイルに基づいて自動で検出されるため、ビルドするプロバイダを指定する必要はありません。アプリケーションに追加のプロバイダが必要な場合は、Nixpacksの設定ファイル内で定義できます。

対応言語

Nixpacksはすべての主要プログラミング言語に対応しています。詳しくはドキュメントをご覧ください。

Nixpacksを使用する場合、アプリケーションのコード内で言語バージョンを指定する必要があります。アプリケーションのコードでバージョンが指定されない場合には、Nixpacksにより利用可能な最新のバージョンが使用されます。別のバージョンを使用するには、アプリケーションのファイルでバージョンを設定してください。

Nixpackがサポートしていない言語やバージョンを使用するには、Dockerfileを使用してください。アプリケーションを追加する際に、「Dockerfileを使用してコンテナイメージを設定」を選択します。

コンテナイメージ作成の未来へ

Kinstaは、Nixpacksがユーザーの皆さんにとって画期的なものであり、これの導入によってアプリケーションのコンテナイメージを今まで以上に効率的かつ柔軟に管理できるものと信じています。テクノロジーの進化に伴い、Kinstaはお客様の開発プロセスを簡素化する最先端のソリューションを提供し続けます。

今すぐNixpacksへの切り替えにより、Kinstaのコンテナイメージ作成の未来をご体験ください。

この新しい機能の追加により、アプリケーションの構築とデプロイがこれまで以上に効率的に行えるようになります。是非ともご活用いただけますと幸いです。