ドキュメント

サポート

Cloud Code

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

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

このガイドでは、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>

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

ビルド時にプロジェクトを公開、圧縮、デプロイするようにプロジェクトファイルを設定した場合は、プロジェクトファイルを使用して Cloud Code モジュールのデプロイを自動化できます。 詳細については、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
環境変数に追加することが必要な場合があります。

予想される出力

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