最近のアクセス:
フロントエンドアプリケーションをクラウドプロバイダーのオブジェクトストレージにデプロイする方法

ここでは、フロントエンドアプリケーションをクラウドプロバイダーのオブジェクトストレージにデプロイするための手順を説明します。そのためには、GeneXus IDE から [ アプリケーションをデプロイ ] を使用するか、MSBuild コマンドを使用できます。

GeneXus からアプリケーションデプロイツールを使用してデプロイする

1.GeneXus で、アプリケーションのメインオブジェクトを含む Deployment Unit オブジェクトを作成した後に、 [ アプリケーションをデプロイ ] コンテキスト メニュー オプションに移動します。
イメージ:49880.png
2. [ ターゲット ] コンボボックスから静的なフロントエンドのオプションを選択します。
3. [ プロパティ ] ダイアログから、フロントエンドのデプロイターゲット(AWS S3、または Azure Blob Storage)を選択します。
選択したターゲットに応じて、異なるオプションを入力する必要があります。
4.最後に [ デプロイ ] ボタンを押します。
イメージ:49879.png
必要に応じて、 [ パッケージのみ ] チェックボックスを選択してデプロイパッケージを作成できます。この場合、パッケージは KB の Deploy\STATICFRONTEND\<DeploymentUnit> ディレクトリーに保存されます。

クラウドプロバイダーのオブジェクトストレージにデプロイする MSBuild タスク

アプリケーション デプロイ ツールは、MSBuild タスクに基づいています。これらのタスクを使用すると、デプロイを自動化できます。
フロントエンドアプリケーションの場合は、3つの MSBuild スクリプトを実行してデプロイを実行します。
1.フロントエンドプロジェクトを作成する
GeneXusには、deploy.msbuild (GeneXus インストールのルートにあります) というスクリプトが用意されています。これは、ターゲットデプロイ (TargetId) が [ STATICFRONTEND ] の場合に、フロントエンドアプリケーション用のデプロイプロジェクトを作成するために使用されます。
この手順では、gxdproj という名前のファイル (MSBuild スクリプト) を作成します。このファイルには、Deployment Unit オブジェクトの選択されたオブジェクトの一覧と、デプロイ用のいくつかの環境プロパティが含まれます。この gxdproj ファイルは、クラウドにデプロイする MSBuild タスクの入力として使用されます。
MSBuild 実行に追加するプロパティ:
  • TargetId: STATICFRONTEND
  • DEPLOY_TARGETS: 検証が実装されている .targets ファイルへの参照 (staticfrontend.targets) です。
  • KBPath: ナレッジベースのパスです。
  • KBVersion: アクティブとして指定するバージョン名です。
  • KBEnvironment: そのバージョンの環境名です。
  • DeploymentUnit: デプロイユニットの名前です。
  • ProjectName: 生成される .gxdproj ファイルの名前です。既定では DeploymentUnit_<TimeStamp>.gxdproj です。
  • ObjectNames: デプロイするオブジェクトの名前およびそのタイプです (デプロイユニットも選択可能)(「MSBuild タスクでオブジェクトリストを指定する方法」を参照してください)。 [ DeploymentUnit ] プロパティを指定する場合、このパラメーターは省略可能です。
  • Outputpath: Gxdproj の保存場所です。Outputpath が定義されていない場合、gxdproj ファイルは $KB.Location$\$Model.TargetPath$\web の下に保存されます。 

C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe /noconsolelogger /nologo /logger:DeployLogger,"C:\Development\Trunk\Genexus\GeneXus.Deploy.MSBuild.Tasks.dll"
/verbosity:quiet /ToolsVersion:4.0 "C:\Development\Trunk\Genexus\deploy.msbuild"
/p:TargetId ="STATICFRONTEND"
/p:DEPLOY_TARGETS="C:\Development\Trunk\Genexus\DeploymentTargets\StaticFrontEnd\staticfrontend.targets"
/p:KBPath="C:\models\TestAngular\TestAngular"
/p:KBEnvironment="NetSQLServer1"
/p:KBVersion="TestAngular"
/p:DeploymentUnit="DeploymentUnit2"
/p:ProjectName="myproject"
/p:ObjectNames="SDPanel:Panel1"  
/t:CreateDeploy
2.パッケージを作成する
プロジェクトのビルドは、以下で説明するパラメーターを受け取る CreateFrontendPackage.msbuild スクリプトによってトリガーされます。
  • GXDeployFileProject: 「フロントエンドプロジェクトを作成する」の手順で生成された .gxdproj ファイルへのパス (ファイルの名前を含む) です。 
  • ProjectRootDirectory: Angular アプリケーションが生成される KB の下のディレクトリーへのパスです (常にmobile\Angular フォルダの下にあります)。例: "C:\models\TestAngular\TestAngular\NetSQLServer005\mobile\Angular"
  • GenExtensionName: フロントエンドジェネレーターの名前 (例:Angular) です。
  • DeploymentScript: 各フロントエンドジェネレーターには、パッケージ化(アプリケーションのビルド)のための独自のスクリプトが必要です。これは [ DeploymentScript msbuild ] プロパティで指定する必要があります。
  • GX_PROGRAM_DIR: GeneXus プログラムのディレクトリーです。

C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe /noconsolelogger /nologo /logger:DeployLogger,"C:\Development\Trunk\Genexus\GeneXus.Deploy.MSBuild.Tasks.dll" /verbosity:minimal /ToolsVersion:4.0 "C:\Development\Trunk\Genexus\CreateFrontendPackage.msbuild" /p:GXDeployFileProject="C:\models\TestAngular\TestAngular\NetSQLServer005\web\DeploymentUnit1_20220614182207.gxdproj"
/p:ProjectRootDirectory="C:\models\TestAngular\TestAngular\NetSQLServer005\mobile\Angular" 
/p:GenExtensionName="Angular"
/p:DeploymentScript="deploy.angular.msbuild"
/p:GX_PROGRAM_DIR="C:\Development\Deploy\Genexus"
/t:CreatePackage
: Angular の場合、DeploymentScript は deploy.angular.msbuild であり、angular.generator ファイルで宣言されています。deploy.angular.msbuildは、GeneXus インストールの直下の GenExtensions \SmartDevices\Angular\deployに あります。

3.クラウドプロバイダーにデプロイする
アプリケーションのフロントエンドをデプロイするソリューションは拡張可能であり、Github (StaticFrontEnd デプロイターゲット) で利用できます。これらのファイルは、GeneXus インストールの DeploymentTarget フォルダにあります。
AWS S3 と Azure Blob Storage にデプロイするための組み込みのソリューションがあります。 
この手順では、アプリケーションがビルドされ、すべてが配布用にセットアップされます。
STATICFRONTEND_PROVIDER プロパティの値 (aws3 または azureblobstorage の場合があります) に応じて .target ファイルを含む deploy.msbuild スクリプトがあります。プロバイダーによっては、そのクラウドにデプロイするために異なるプロパティが必要です。
この手順を実行する方法の詳細は、「フロントエンドアプリケーションの Azure Blob Storage へのデプロイ」を参照してください。

一時的な制限事項

現時点では、各ストレージにデプロイする必要があるメインオブジェクトは1つだけです。

使用可能バージョン

GeneXus 17 Upgrade 9 以降

参考情報

ほとんどの場合、CORS を構成する必要があることを考慮してください。詳しくは、次のページを参照してください:
サーバーレスバックエンドを使用した Angular フロントエンドアプリケーションのデプロイ方法


サブページ
Created: 22/08/04 05:35 by Admin Last update: 24/03/25 23:57 by Admin
カテゴリ
Powered by GXwiki 3.0