アプリケーションを迅速かつ正常にビルドおよびデプロイするには、Buildpacks ビルドをローカルでデバッグすることをお勧めします。ローカルでのデバッグは、問題を迅速に特定して解決するのに役立ち、デプロイメントの失敗のリスクを軽減し、開発効率を高めます。
準備
ネットワークの準備
Buildpacks 関連のコンテナイメージは Docker Hub でホストされているため、ローカル環境から Docker Hub への正常なアクセスを確保してください。
Docker のインストール
Pack ツールを使用する前に、システムに Docker をインストールする必要があります。 Alibaba Cloud Linux オペレーティングシステムの場合は、次のインストールコマンドを使用します。
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum makecache yum install -y curl git docker-ce systemctl enable docker && systemctl start dockerアプリケーションコード: アプリケーションコードリポジトリの準備ができていることを確認します。
手順
ステップ 1: Pack ツールのインストール
次のコマンドを使用して、Pack ツールをダウンロードしてインストールします。 この例は、Alibaba Cloud Linux オペレーティングシステム用です。
# pack をダウンロードしてインストールする
PACK_VERSION="0.36.4"
DOWNLOAD_URL="https://github.com/buildpacks/pack/releases/download/v${PACK_VERSION}/pack-v${PACK_VERSION}-linux.tgz"
CHECKSUM_URL="${DOWNLOAD_URL}.sha256"
# pack ファイルをダウンロードして検証する
echo "Downloading pack v${PACK_VERSION}..."
if ! curl -fsSL "$DOWNLOAD_URL" -o pack-v${PACK_VERSION}-linux.tgz; then
echo "Failed to download pack v${PACK_VERSION}."
exit 1
fi
echo "Downloading completed."
echo "Verifying checksum..."
if ! curl -fsSL "$CHECKSUM_URL" -o pack.tgz.sha256; then
echo "Failed to download checksum file."
exit 1
fi
if ! sha256sum --check --status pack.tgz.sha256; then
echo "Checksum verification failed."
exit 1
fi
echo "Checksum verified successfully."
tar xvzf pack-v${PACK_VERSION}-linux.tgz -C /usr/local/bin/
# インストールが成功したかどうかを確認する
pack --versionステップ 2: Pack ツールを使用してアプリケーションをデバッグする
pack buildコマンドを使用して、アプリケーションをビルドし、イメージを作成します。コマンド:
<your-image-name>を生成するコンテナイメージの名前に置き換え、生成されるコンテナイメージの名前で置き換えます。<path-to-your-app>をアプリケーションコードのローカルパスに置き換えます。pack build <your-image-name> --path <path-to-your-app> --builder heroku/builder:24例: この例では、イメージ名は
my-appで、パスは./my-appです。pack build my-app --path ./my-app --builder heroku/builder:24
次のコマンドで、生成されたイメージを実行します。
# アプリケーションコードに従って環境変数とポートを指定します docker run -e PORT=8080 -p8080:8080 my-apphttp://localhost:<port-number>にアクセスして、アプリケーションをテストします。この例では、
<port-number>を8080に置き換えます。
ステップ 3: アプリケーションをデバッグして適合させる
ビルド時または実行時にアプリケーションで問題が発生した場合は、それに応じてデバッグおよび適合させてください。
アプリケーションのビルドログを確認します。
詳細なビルドログについては、
--verboseパラメーターを使用します。 コマンドは次のとおりです。pack build my-app --path ./my-app --builder heroku/builder:24 --verboseアプリケーションコードを変更し、もう一度デバッグします。
デバッグ情報に基づいて、コードを変更し、
pack buildをもう一度実行します。環境変数を組み込みます。
--envオプションを使用して環境変数を渡します。 コマンドは次のとおりです。pack build my-app --path ./my-app --builder heroku/builder:24 --env MY_ENV=productionさらにローカルテストと検証を実施します。
コンテナ内でアプリケーションを実行およびテストすることにより、アプリケーションの機能とパフォーマンスが要件を満たしていることを確認します。
参考資料
特定の Buildpacks の問題については、「特定のプログラミング言語に基づくアプリケーション構成」または「Buildpacks 公式ドキュメント」をご参照ください。
project.tomlで指定されたサードパーティ製の Buildpacks を使用している場合は、特定の Cloud Native Buildpacks のドキュメントを参照してください。