# CCD CLI(커맨드 라인 인터페이스)

> Use the command-line interface to manage Cloud Content Delivery buckets, entries, and release pipelines efficiently.

CCD CLI(커맨드 라인 인터페이스)는 CCD(Cloud Content Delivery)와 상호 작용하는 데 권장되는 방법입니다. 이 툴을 사용하면 커맨드 라인을 사용하여 파일 관리부터 릴리스 파이프라인 구성까지 프로젝트의 모든 측면을 제어할 수 있습니다.

[대시보드](./dashboard.md)에서 많은 유사한 기능을 수행할 수 있지만 버킷에 파일을 복사하거나 전체 폴더를 동기화하려면 CLI를 사용해야 합니다.

## 시작하기##installation

CLI용 CCD를 설정하려면 다음을 수행합니다.

1. 이미 프로젝트가 있는 경우 다음 단계로 이동합니다. 그렇지 않고 처음으로 Unity 서비스를 사용하는 경우에는 다음을 수행합니다.

   1. [Unity ID](https://id.unity.com/) 계정을 만듭니다(아직 계정이 없는 경우).
   2. [Unity Dashboard](https://dashboard.unity3d.com/)에 로그인합니다.
   3. Projects 드롭다운을 클릭한 다음 **Create project**를 클릭합니다. Create project 창에서 필수 세부 정보를 입력합니다.

2. 대시보드의 Main Menu에서 **Explore Services**를 클릭합니다(아직 선택하지 않은 경우).

3. 메인 창의 All Solutions 또는 LiveOps 탭 아래에서 **Cloud Content Delivery**를 클릭합니다.

4. 왼쪽에서 **Download CLI**를 클릭합니다.

5. CLI를 다운로드하려면 운영체제 버전을 찾은 다음 다운로드 아이콘을 선택합니다.

6. 왼쪽 내비게이션에서 **API Key** 섹션으로 이동합니다.

7. API 키를 복사합니다.

8. 콘텐츠를 업로드하는 머신에서 CLI를 실행합니다.

9. `auth` 커맨드를 통해 API 키를 사용하여 CLI에 로그인합니다.

이제 CCD를 사용할 준비가 되었습니다.

## CLI 활용법##migration-information

CLI에서 CCD 커맨드의 기본 형태는 다음과 같습니다.

`$ ucd [command]`

> **Tip:**
>
> 해당 커맨드에 대해 사용 가능한 추가 파라미터와 플래그를 표시하려면 커맨드 끝에 `-h` 또는 `--help`를 입력해야 합니다.

현재 사용 중인 CLI 버전을 보려면 `--version` 플래그를 추가합니다.

`$ ucd --version`

커맨드 뒤에 다음 전역 플래그를 추가할 수 있습니다.

* `--apikey string`: Content Delivery에 액세스하기 위한 사용자 지정 API 키입니다.
* `-h`, `--help`: 해당 커맨드에 대한 추가 파라미터와 플래그를 표시합니다.
* `-q`, `--quiet`: 지정된 커맨드로 수행된 작업의 표시를 비활성화합니다.
* `-v`, `--verbose`: 오류 정보를 표시합니다.

> **Note:**
>
> 0.11.0보다 큰 CLI 버전의 경우 대부분의 커맨드에 `--environment` 플래그를 추가해야 합니다. [CLI 샘플](#get-started) 및 [CLI를 통해 CCD 사용](./cli-walkthrough.md)을 참고하십시오.

사용 가능한 커맨드는 다음과 같습니다.

### auth##unified-with-ugs-tooling

CCD로 인증합니다.

활용법: `ucd auth [command]`

사용 가능한 커맨드:

* `info`: 현재 사용자 정보를 표시합니다.
* `login [apikey]`: 로그인하여 프로젝트 데이터와 콘텐츠 제공 서비스에 액세스합니다.
* `logout`: 현재 계정에서 로그아웃합니다.

### 배지##authentication-updates

릴리스의 배지를 관리합니다.

활용법: `ucd badges [command]`

사용 가능한 커맨드:

* `add [badge_name] [release_id]`: 릴리스할 배지를 추가합니다.
* `list`: 현재 버킷의 배지를 나열합니다.
* `remove [badge_name]`: 배지를 제거합니다.

### 버킷##enhanced-user-experience

프로젝트의 버킷을 관리합니다.

활용법: `ucd buckets [command]`

사용 가능한 커맨드:

* `create [project_guid] [bucket name]`: 프로젝트의 버킷을 생성합니다.
* `delete [bucket_id]`: 버킷을 삭제합니다.
* `info [bucket_id]`: 버킷 정보를 가져옵니다.
* `list [project_guid]`: 프로젝트의 버킷을 나열합니다.

### config##prerequisites

현재 버킷을 설정하고 식별하기 위한 옵션을 관리합니다.

활용법: `ucd config [command]`

사용 가능한 커맨드:

* `clear`: 모든 로컬 구성 옵션을 지웁니다.
* `set environment [environment_id] --project=[project_id]`: 개발 환경을 현재로 설정합니다.
* `set bucket [bucket_id] [flags]`: 지정된 버킷을 현재(활성) 버킷으로 설정합니다.
* `show`: 현재 로컬 구성을 표시합니다.

### 엔트리##set-up-ccd-for-cli

현재 버킷의 엔트리를 관리합니다.

활용법: `ucd entries [command]`

사용 가능한 커맨드:

* `copy [local_path] [entry file name]`: 로컬 파일의 현재 버킷에서 엔트리를 생성합니다.
* `delete [entry file name]`: 현재 버킷의 엔트리를 삭제합니다.
* `download [entry file name]`: 현재 버킷에서 엔트리 콘텐츠를 다운로드합니다.
* `info [entry file name]`: 현재 버킷에서 엔트리 정보를 가져옵니다.
* `list`: 현재 버킷의 엔트리를 나열합니다.
* `sync [local_dir_path]`: 현재 버킷의 로컬 디렉토리에서 엔트리를 동기화합니다.
* `update [entry file name]`: 현재 버킷의 엔트리를 업데이트합니다.

> **Tip:**
>
> 엔트리 동기화 커맨드를 취소하려면 프로세스 중에 Ctrl+C를 누르십시오. 취소 전에 동기화된 모든 엔트리는 업로드된 상태로 유지되므로 버킷에서 삭제해야 합니다.

### 릴리스##authentication

현재 버킷의 릴리스를 관리합니다.

활용법: `ucd releases [command]`

사용 가능한 커맨드:

* `create`: 현재 버킷의 최신 버전에서 릴리스를 생성합니다.
* `info [release_id]`: 특정 릴리스의 릴리스 정보를 가져옵니다.
* `list`: 현재 버킷의 릴리스를 나열합니다.
* `promote [release_id] --target_bucket [bucket_id]`: 특정 릴리스를 다른 버킷으로 승격합니다. `-n`, `--notes` 플래그(선택 사항)는 노트 문자열을 추가합니다.
* `update [release_id]`: 기존 릴리스를 업데이트합니다. `-n`, `--notes` 플래그(선택 사항)는 노트 문자열을 추가합니다.

버킷 및 엔트리 이름은 대소문자를 구분합니다.

> **Note:**
>
> `bucket_name`은 단지 버킷 생성 시 버킷에 할당하는 레이블입니다. 다른 모든 커맨드에는 `bucket_ID`가 필요하며, `buckets list` 커맨드를 사용하여 찾거나 [대시보드](./dashboard.md#buckets)에서 찾을 수 있습니다.

## CLI 예시##get-started

* 버킷을 생성하려면 다음을 수행합니다.\
  `$ ucd buckets create [project_id] [bucket_name]`
* 버킷을 삭제하려면 다음을 수행합니다.\
  `$ ucd buckets delete [bucket_id]`
* `bucket_id`를 포함하여 프로젝트의 모든 버킷을 나열하려면 다음을 수행합니다.\
  `$ ucd buckets list [project_id]`
* 현재 버킷을 활성 버킷으로 설정하려면 다음을 수행합니다.\
  `$ ucd config set bucket [bucket_id]`
* 로컬 폴더를 현재 버킷과 동기화하려면 다음을 수행합니다.\
  `$ ucd entries sync [local_dir_path]`
* 현재 버킷의 모든 엔트리 목록을 보려면 다음을 수행합니다.\
  `$ ucd entries list`

> **Note:**
>
> 0.11.0보다 큰 CLI 버전의 경우 대부분의 커맨드에 `--environment` 플래그를 추가해야 합니다.
>
> 예시:
>
> `ucd buckets list --environment=[environment_id] [PROJECT_ID]`
>
> `config` 개발 환경 커맨드를 사용하여 향후 모든 커맨드에 사용할 개발 환경을 저장할 수도 있습니다.
>
> `ucd config set environment [environment_id] --project=[project_id]`
>
> `config`에서 개발 환경을 설정하면 `--environment` 플래그를 추가할 필요가 없습니다.

커맨드 라인 인터페이스를 사용하는 방법에 대한 순차적인 예는 [CLI를 통해 CCD 사용](./cli-walkthrough.md)을 참고하십시오.
