この記事では、Azure サーバーレスへのバックエンドサービス (モバイルまたは Angular アプリケーションのサービス) のデプロイに関連する MSBuild タスクについて説明します。
GeneXus IDE を使用してデプロイを実行する方法、およびプロパティの意味に関する一般的な知識については、「
API Management を使用した Azure サーバーレスへのデプロイ」を参照してください。
このタスクでは、
.gxdproj ファイルを生成します。使用される MSBuild ファイルは、GeneXus インストールの下にあります。
MSBuild.exe "C:\Genexus\deploy.msbuild"
/p:KBPath="C:\models\TestServerlessGAM"
/p:KBEnvironment="NETSQLServerCloud"
/p:KBVersion="TestServerlessGAM"
/p:ProjectName="DpuWithGAM_20220808111607"
/p:TargetId="AZURE_SERVERLESS"
/p:ObjectNames="Dashboard:Menu1"
/p:DeployFullPath="C:\models\TestServerlessGAM\NETSQLServerCloud\Deploy\AZURE_SERVERLESS\DpuWithGAM"
/p:GX_PROGRAM_DIR="C:\Genexus"
/t:CreateDeploy
パッケージの
.zip ファイルを生成します。使用される MSBuild ファイルは、手順 1 で生成された
.gxdproj ファイルです。
これは基本的な成果物をすべて含むローカルパッケージであり、Azure へのデプロイには適していません。
MSBuild.exe "C:\models\TestServerlessGAM\NETSQLServerCloud\web\DpuWithGAM_20220808111607.gxdproj"
/p:GX_PROGRAM_DIR="C:\Genexus"
/p:APPLICATION_KEY="90D4E373DDB1700F3064C9A5F3A34FE121C48EB37E877594534B745E16219C5D"
/p:INCLUDE_GAM="False"
/p:INCLUDE_GXFLOW_BACKOFFICE="True"
/p:APP_UPDATE="NONE"
/p:ENABLE_KBN="False"
/p:TARGET_JRE="9"
/p:PACKAGE_FORMAT="Automatic"
/t:CreatePackage
この手順では、Azure にデプロイするパッケージを作成します (手順 2 で作成したパッケージをカスタマイズします)。
GeneXus ディレクトリーにある
CreateCloudPackage.msbuild スクリプトを使用します。
MSBuild.exe "C:\Genexus\CreateCloudPackage.msbuild"
/p:TargetId="AZURE_SERVERLESS"
/p:CreatePackageScript="createpackage.msbuild"
/p:CreatePackageTarget="CreatePackage"
/p:GENERATOR=".NET"
/p:GXDeployFileProject=<手順 1 で生成された .gxdproj ファイルのパス>
/p:DeployFullPath="C:\models\TestServlessGAM\TestServerlessGAM\NetModel\Deploy\AZURE_SERVERLESS\DpuWithoutGAM\20220908115325"
/p:GX_PROGRAM_DIR="C:\Development\Trunk\Deploy\Genexus\debug"
/p:DeploySource="C:\models\TestServlessGAM\TestServerlessGAM\NetModel\Deploy\AZURE_SERVERLESS\DpuWithoutGAM_20220908115325.zip"
/p:DeployFileFullPath=<zip パッケージがコピーされるパス。既定では、.gxdproj ファイルで指定された値となる>
/t:CreatePackage
パッケージを Azure Functions にアップロードします。
Azure に接続するための資格情報を設定する必要があります。
使用される MSBuild ファイルは、<GeneXus インストール>\DeploymentTargets\AzureServerless の下にあります。
MSBuild.exe "C:\Genexus\DeploymentTargets\AzureServerless\deploy.msbuild"
/p:TargetId="AZURE_SERVERLESS"
/p:GXDeployFileProject=<.gxdproj ファイルの場所>
/p:LANGUAGE="41"
/p:GENERATOR=".NET"
/p:AZURE_SERVERLESS_FUNCTION_APP="HttpWinNet6"
/p:AZURE_SERVERLESS_RESOURCE_GROUP="HttpWinNet6"
/p:AZURE_SERVERLESS_SP_APP_ID="xxxxxxxxxxxxxxx"
/p:AZURE_SERVERLESS_SP_TENANT_ID="yyyyyyyyyyyyyyyyy"
/p:AZURE_SERVERLESS_SP_CREDENTIALS="zzzzzzzzzzzzzzzzzzz"
/p:AZURE_SERVERLESS_SESSION_STATE_PROVIDER="None"
/p:AZURE_SERVERLESS_GAM_CONNECTION_KEY="11111111111111111111"
/p:AZURE_APIM_SERVICE_NAME="GXAPIManagement"
/p:AZURE_APIM_RESOURCE_GROUP="apimanage"
/p:AZURE_APIM_API_ID="travel9"
/p:AZURE_APIM_API_DISPLAY_NAME="API travel9"
/p:AZURE_APIM_API_SERVICE_URL="https://httpwinnet6.azurewebsites.net"
/p:AZURE_APIM_API_PATH="travel9"
/p:AZURE_APIM_API_SUBSCRIPTION_REQUIRED="false"
/p:GX_PROGRAM_DIR="C:\Genexus"
/p:DEPLOY_TARGETS="C:\Development\Trunk3\Deploy\Genexus\Debug\DeploymentTargets\AzureServerless\azureserverless.targets" /p:DeployFullPath="C:\models\TestAPIObject3\TestServerlessGAM\NETSQLServerCloud\Deploy\AZURE_SERVERLESS\DpuWithGAM\20220808111607"
/t:Deploy
注: /p:CreateCloudPackage="true" と設定した場合、この手順は第 3 の手順も行います (クラウドパッケージを作成します)。