# 환경 변수 사용

> Learn how to use built-in and custom environment variables in Unity Build Automation.

빌트인 환경 변수를 사용하고 Unity Build Automation(UBA)에서 커스텀 환경 변수를 정의합니다.

* 빌트인 변수는 빌드 환경과 소스 관리 메타데이터를 자동으로 노출합니다.
* 커스텀 환경 변수를 설정하여 특정 요구 사항에 따라 사전 빌드와 포스트 빌드 스크립트를 설정할 수 있습니다.

## 일반적인 빌트인 환경 변수##common-built-in-environment-variables

UBA에서는 빌드 중에 자동으로 사용할 수 있는 빌트인 환경 변수를 제공합니다. 이 변수를 통해 빌드 환경, 타겟 설정, 버전 관리 정보에 대한 유용한 세부 정보를 확보할 수 있습니다. 예를 들어 다음은 일반적으로 사용되는 빌트인 환경 변수입니다.

| 변수 이름           | 설명                                |
| --------------- | --------------------------------- |
| `UNITY_VERSION` | 빌드에서 사용하는 Unity 버전입니다.            |
| `BUILD_TARGET`  | Android, iOS, WebGL 등의 타겟 플랫폼입니다. |
| `BUILD_PATH`    | 빌드 출력 디렉토리의 경로입니다.                |
| `PROJECT_PATH`  | Unity 프로젝트 루트 디렉토리에 대한 경로입니다.     |
| `BUILD_NUMBER`  | 빌드의 고유한 식별자입니다.                   |
| `GIT_BRANCH`    | Git 브랜치가 현재 빌드 중입니다.              |
| `GIT_COMMIT`    | 현재 Git 커밋의 해시입니다.                 |

사용 가능한 환경 변수의 전체 목록은 [환경 변수 레퍼런스 기술 자료](/build-automation/reference/available-environment-variables.md)를 참고하십시오.

## 환경 변수 설정##set-environment-variables

**빌드 타겟** 레벨에서 환경 변수를 설정합니다. 이를 통해 스테이징이나 프로덕션 등의 다양한 플랫폼이나 환경에 맞게 맞춤형 설정을 사용할 수 있도록 각 빌드 타겟에 대해 다양한 변수를 지정할 수 있습니다.

UBA에서 환경 변수 정의:

1. [Unity Dashboard](https://cloud.unity.com/home/organizations/default/projects/default/cloud-build/config)로 이동하여 프로젝트를 선택합니다.
2. **Build Automation** > **Configurations**를 선택합니다.
3. 편집(연필 모양) 아이콘을 선택하여 선택한 빌드 타겟 설정을 엽니다.
4. **Advanced Settings**를 선택합니다.
5. **Environment variables**에서 변수 키와 값을 입력합니다.
6. 페이지 상단에서 **Apply**를 선택한 다음, **Save Changes**를 선택합니다.


**환경 변수 설정 패널.:**
![환경 변수 설정 패널.](/api/media?file=/build-automation/media/images/build-automation/environment-variables.png "UBA - 환경 변수")

## 환경 변수 사용##use-environment-variables

환경 변수를 정의한 후 빌드 프로세스 중에 [Unity 스크립트](#access-variables-in-unity-c-scripts)나 커스텀 사전/포스트 빌드 [셸 스크립트](#access-variables-in-shell-scripts)에서 이를 참조할 수 있습니다.

> **Note:**
>
> **참고**: 변수 키는 대소문자를 구분하므로 키가 정확히 일치해야 합니다.

### Unity C# 스크립트의 변수에 액세스##access-variables-in-unity-c-scripts

`System.Environment` 클래스를 사용하여 환경 변수를 검색합니다.

```csharp
string apiKey = System.Environment.GetEnvironmentVariable("MY_API_KEY");
if (!string.IsNullOrEmpty(apiKey))
{
    Debug.Log("API Key loaded successfully.");
}
else
{
    Debug.LogWarning("API Key not found.");
}
```

### 셸 스크립트의 변수에 액세스##access-variables-in-shell-scripts

사전 빌드나 포스트 빌드 셸 스크립트를 사용하는 경우 달러 기호 접두사를 사용하여 특정 환경 변수에 액세스할 수 있습니다.

```sh
echo "Build Number: $BUILD_NUMBER"
```

### 누락된 환경 변수##missing-environment-variables

환경 변수에 액세스할 수 없는 경우 다음 솔루션을 확인합니다.

* 빌드 타겟 설정에서 환경 변수를 올바르게 정의했는지 확인합니다.
* 변수의 철자가 올바르고 대소문자 구분이 일치하는지 확인합니다.
* 관련 경고나 오류는 [빌드 로그](../check-build-results/overview#view-logs)를 통해 검토합니다.
* 사전 빌드나 포스트 빌드 스크립트에서 진단 커맨드를 사용하여 사용 가능한 변수를 확인합니다.
  * Linux나 macOS: `env`
  * Windows: `set`
