기술 자료

지원

Cloud Code

Cloud Code

로컬 배포 자동화

Automate the deployment of your Cloud Code module with the Unity Gaming Services CLI or project file.
읽는 시간 1분최근 업데이트: 한 달 전

이 가이드에서는 UGS(Unity Gaming Services) 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
    타겟이
    OutDir
    디렉토리에서
    Module
    디렉토리를 제거합니다.
  • PublishModule
    타겟이 모듈을
    Module
    디렉토리에 퍼블리시하고 필요한 어셈블리를 생성합니다.
  • ZipModule
    타겟이
    Module
    디렉토리를 압축합니다.
  • DeployModule
    타겟이 모듈을 Cloud Code 서비스에 배포합니다.

R2R 컴파일(선택 사항)

R2R(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