ドキュメント

サポート

Cloud Code

ローカルデプロイの自動化

Automate the deployment of your Cloud Code module with the Unity Gaming Services CLI or project file.
読み終わるまでの所要時間 1 分最終更新 3ヶ月前

このガイドでは、Unity Gaming Services (UGS) CLI またはプロジェクトファイルを使用して Cloud Code モジュールのデプロイを自動化する方法について説明します。 デプロイを CI/CD パイプラインに統合する場合は、CI/CD とのインテグレーション を参照してください。

前提条件

ローカルデプロイを自動化するには、Cloud Code モジュールと UGS CLI が必要です。
  1. Cloud Code モジュール を作成します。
  2. CLI のインストール (Unity Gaming Services CLI) のステップに従って、UGS CLI をインストール、設定、および認証します。

UGS CLI を使用した自動化

UGS CLI には、ソリューションをデプロイするために使用できる
deploy
コマンドが用意されています。
deploy
コマンドは、モジュールを圧縮し、Cloud Code サービスにデプロイします。
デプロイするには、プロジェクトディレクトリの端末から以下のコマンドを実行します。
ugs deploy <path_to_solution>
ノート: コンパイルをサポートするには、ソリューションに メインプロジェクト の発行プロファイルが含まれる必要があります。詳細については、C# ソリューションのデプロイ を参照してください。

プロジェクトファイルを使用した自動化

ビルド時にプロジェクトを公開、圧縮、デプロイするようにプロジェクトファイルを設定した場合は、プロジェクトファイルを使用して Cloud Code モジュールのデプロイを自動化できます。
ノート: これは上級者向けのワークフローです。ほとんどの場合、UGS CLI の Deploy コマンド で十分です。
詳細については、Microsoft ガイドの プロジェクトファイルについて を参照してください。 スクリプトでは、UGS CLI Deploy コマンドを使用します。

プロジェクトファイル設定

以下のプロジェクトファイル設定を使用して、Cloud Code モジュールのデプロイを自動化できます。
<Target Name="RemoveDirectory"> <RemoveDir Directories="$(OutDir)Module/" /> </Target><Target Name="PublishModule" DependsOnTargets="RemoveDirectory"> <Exec Command="dotnet publish -r linux-x64 --no-self-contained -o $(OutDir)Module/$(AssemblyName)" /></Target><Target Name="ZipModule" DependsOnTargets="PublishModule"> <ZipDirectory SourceDirectory="$(OutDir)Module/$(AssemblyName)" DestinationFile="$(OutDir)Module/$(AssemblyName).ccm" /></Target><Target Name="DeployModule" DependsOnTargets="ZipModule"> <Exec Command="ugs deploy $(OutDir)/Module/$(AssemblyName).ccm" /></Target>
上記の設定をコピーしてプロジェクトファイルに貼り付けます。
  • RemoveDirectory
    ターゲットは
    Module
    ディレクトリを
    OutDir
    ディレクトリから削除します。
  • PublishModule
    ターゲットはモジュールを
    Module
    ディレクトリに公開し、必要なアセンブリを生成します。
  • ZipModule
    ターゲットは
    Module
    ディレクトリを圧縮します。
  • DeployModule
    ターゲットは、モジュールを Cloud Code サービスにデプロイします。

Ready to Run コンパイル (任意)

Ready to Run コンパイルは、Cloud Code モジュールのコールドスタート時間を改善するオプションの機能です。このオプションがモジュールに与える影響を確認するには、[Ready to Run](./package-code.mdx#ready-to-run-r2r-compilation を参照してください。 Ready to Run コンパイルを有効にするには、
PublishModule
ターゲットを変更して
PublishReadyToRun
プロパティを加えます。
<Target Name="PublishModule" DependsOnTargets="RemoveDirectory"> <Exec Command="dotnet publish -r linux-x64 -p:PublishReadyToRun=true --no-self-contained -o $(OutDir)Module/$(AssemblyName)" /></Target>

ターゲットの実行

ターゲットを実行するには、プロジェクトディレクトリの端末から以下のコマンドを実行します。
msbuild /t:DeployModule
msbuild 
コマンドが見つからない場合は、
msbuild
パスを
PATH
環境変数に追加することが必要な場合があります。
ノート:
DeployModule
を別のターゲット名に置き換えると、他の任意のターゲットを個別に実行できます。ターゲットは相互に依存するため、実行されるターゲットはそれが依存するターゲットも実行します。

予想される出力

デプロイに成功した場合は、以下の出力が表示されます。
Deployed:ExampleModule.ccm