最近のアクセス:
Docker コンテナへのフロントエンドアプリケーションのデプロイ方法

ここでは、Nginx を使用してフロントエンドアプリケーションを Docker コンテナにデプロイする手順を説明します。そのためには、GeneXus IDEMSBuild コマンドから [ アプリケーションをデプロイ ] を使用できます。

GeneXus のアプリケーション デプロイ ツールを使用してデプロイ

1.GeneXus で、アプリケーションのメインオブジェクトを含む Deployment Unit オブジェクトを作成した後、コンテキストメニューの [ アプリケーションをデプロイ ] オプションを選択します。
イメージ:49880.png
2. [ ターゲット ] コンボボックスから静的なフロントエンドのオプションを選択します。
3.プロパティダイアログで「Docker container」を選択します。
イメージ:51106.png
4. [ App location ] プロパティおよび [ Docker image name ] プロパティに有効な値を入力します。
5.最後に [ デプロイ ] ボタンを押します。
必要に応じて、 [ パッケージのみ ] チェックボックスを選択してデプロイパッケージを作成できます。この場合、パッケージはナレッジベースの Deploy\STATICFRONTEND\\\context ディレクトリーに保存されます。
context ディレクトリーには、(Docker イメージがビルドされるときに、Angular アプリケーションのビルドに使用される) アプリケーションのソースファイルが含まれており、さらに、Dockerfile ファイルおよび nginx.conf ファイルも含まれています。
イメージ:51114.png

MSBuild タスクを使用してデプロイ

静的なフロントエンドを Docker にデプロイする MSBuild タスク」を参照してください。

要件

Docker イメージのビルドには、Docker for Windows が必要です。
このタイプのデプロイでは、「Linux Containers」に切り替えます。
注: [ パッケージのみ ] を選択しない限り、Docker エンジンがインストールされていないか、または稼働していない場合は、次のエラーがスローされます:
The command "docker info --format "{{.OSType}}"" exited with code 2.
エラー: Docker クライアントが見つかりません。 

制限事項

デプロイユニットには、1 つのメインオブジェクトが必要です。

重要な注記

  • アプリケーションは Docker イメージでビルドされるため (npm install)、GeneXus でのビルドを回避できます (たとえば、ビルドマシンに npm がない場合)。
  • Nginx バージョンのような Dockerfile の設定は、Dockerfile テンプレートで直接編集できます。このテンプレートは、GenExtensions\SmartDevices\Angular\deploy\docker\Templates 配下の GeneXus インストールにあります。
  • Nginx 設定ファイル (nginx.conf) の場合も同様です。Create FrontEnd Package MSBuild の [ StaticServerConfigTemplatePath ] プロパティを使用して、使用したい config へのパスを指定できます。別のオプションは、GenExtensions\SmartDevices\Angular\deploy\docker\Templates 配下の nginx.conf ファイルを編集することです。

考慮事項

アプリケーションのサービスは、別の手順でデプロイする必要があります。それらのサービスはローカルまたはクラウドにデプロイすることができます (Azure サーバーレスまたは AWS サーバーレスを使用すると、サーバーレスアーキテクチャにもデプロイ可能)。
ほとんどの場合、サービスを実行する CORS を構成する必要があることを考慮してください。詳しくは、次のページを参照してください:
サーバーレスバックエンドを使用した Angular フロントエンドアプリケーションのデプロイ方法

使用可能バージョン

GeneXus 17 Upgrade 11 以降


サブページ
Created: 22/12/15 21:20 by Admin Last update: 24/03/25 23:57 by Admin
カテゴリ
Powered by GXwiki 3.0