?このガイドでは、Encore のオープン ソース CLI の一部である新しい encore ビルド コマンドを使用して、Encore アプリケーションを DigitalOcean にデプロイする方法を説明します。
これは、Encore のクラウド プラットフォームによって提供される自動化よりも手動のデプロイメントを好む場合に便利です。
手動でデプロイする場合でも、Encore はアプリを構築および構成するためのツールを提供することでプロセスを簡素化します。⚡️
次に、Docker と encore ビルドを使用して、Encore アプリを DigitalOcean のアプリ プラットフォームにデプロイする方法を見てみましょう。
前提条件
-
DigitalOcean アカウント: DigitalOcean アカウントをお持ちであることを確認してください。まだの場合は、ここからサインアップできます。
-
Docker がインストールされました: Docker がローカル マシンにインストールされていることを確認します。 Docker Web サイトからダウンロードできます。
-
Encore CLI: Encore CLI をインストールします。
-
macOS: brew install encoredev/tap/encore
-
Linux:curl -L https://encore.dev/install.sh |バッシュ
-
Windows: iwr https://encore.dev/install.ps1 |アイエックス
-
DigitalOcean CLI (オプション): 柔軟性と自動化を高めるために DigitalOcean CLI をインストールできますが、このチュートリアルでは必要ありません。
ステップ 1: Encore アプリを作成する
-
新しい Encore アプリを作成する:
- まだ作成していない場合は、Encore CLI を使用して新しい Encore アプリを作成します。
- 次のコマンドを使用して新しいアプリを作成できます。
encore app create myapp
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
- Hello World テンプレートを選択します。
- プロンプトに従ってアプリを作成します。
-
Docker イメージをビルドします:
- Encore アプリをビルドして、デプロイメント用の Docker イメージを生成します。
encore build docker myapp
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ステップ 2: Docker イメージをコンテナー レジストリにプッシュする
Docker イメージを DigitalOcean にデプロイするには、それをコンテナー レジストリにプッシュする必要があります。 DigitalOcean は
をサポートします
独自のコンテナ レジストリを使用できますが、DockerHub または他のレジストリを使用することもできます。画像を DigitalOcean のレジストリにプッシュする方法は次のとおりです:
doctl registry login
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
これには DigitalOcean CLI が必要になります。これは DigitalOcean CLI ドキュメントからインストールできます。
-
Docker イメージにタグを付けます:
レジストリの URL と一致するようにイメージにタグを付けます。
encore app create myapp
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
-
Docker イメージをレジストリにプッシュします:
encore build docker myapp
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ステップ 3: Docker イメージを DigitalOcean アプリ プラットフォームにデプロイする
ステップ 4: アプリの監視と管理
-
アプリケーションにアクセスします:
- デプロイ後、アプリケーションにアクセスするためのパブリック URL を取得します。
- アプリをテストして、期待どおりに実行されていることを確認します。
doctl registry login
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
-
ログとメトリクスの表示:
- アプリ プラットフォームの 「ランタイム ログ」 タブに移動してログを表示します
- パフォーマンス指標を表示するには、「インサイト」 タブに移動します。
-
スケーリングと展開設定の管理:
- スケーリング設定、デプロイメント領域、環境変数などのアプリ構成を変更できます。
ステップ 5: アプリにデータベースを追加する
DigitalOcean のアプリ プラットフォームは管理されたデータベースを提供し、アプリにデータベースを簡単に追加できます。アプリの管理データベースを設定する方法は次のとおりです:
encore app create myapp
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
encore build docker myapp
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
-
Encore アプリでデータベースを宣言します:
- Encore アプリのコードベースを開きます。
- mydb データベースをアプリに追加します (Encore データベースのドキュメント)
doctl registry login
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
-
Encore インフラストラクチャ構成を作成する
- Encore アプリのルートに infra.config.json という名前のファイルを作成します。
- CA 証明書 と接続の詳細をファイルに追加します。
docker tag myapp registry.digitalocean.com/YOUR_REGISTRY_NAME/myapp:latest
ログイン後にコピー
encore app create myapp
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
- Docker イメージにタグを付けて、DigitalOcean コンテナー レジストリにプッシュします。
encore build docker myapp
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
-
データベース接続をテストします:
- DigitalOcean にアプリを再デプロイして、変更を適用します。
- API を呼び出してデータベース接続をテストする
doctl registry login
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
トラブルシューティングのヒント
-
デプロイメントの失敗: ビルド ログにエラーがないか確認してください。 Docker イメージが正しくタグ付けされ、レジストリにプッシュされていることを確認してください。
-
アプリにアクセスできません: Dockerfile とアプリ プラットフォームの構成で正しいポートが公開されていることを確認してください。
-
データベース接続の問題: データベース接続の詳細が正しく、アプリからデータベースにアクセスできることを確認してください。
結論
それだけです! Docker を使用して、Encore アプリを DigitalOcean のアプリ プラットフォームに正常にデプロイしました。?
DigitalOcean ダッシュボードを通じて、アプリをスケーリングし、そのパフォーマンスを監視し、簡単に管理できるようになりました。
?自分で試してみてください
- これらのチュートリアルで、Encore を使用したアプリの構築について学習します。
- これらのオープンソース アプリ テンプレートを使用して何を構築するかについてのインスピレーションを見つけてください。
まとめ
- ⭐️ GitHub で Encore を主演してプロジェクトをサポートしてください。
- ?質問がある場合、または自分の成果を共有したい場合は、Discord の Encore コミュニティの開発者ハングアウトに参加してください。
以上がDocker と Encore を使用してバックエンド アプリケーションを DigitalOcean にデプロイする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。