

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 로컬에서 패키지 빌드 및 테스트
<a name="build-test-packages-locally"></a>

Amazon S3에 패키지를 게시하거나 Deadline Cloud 팜에서 CI/CD 자동화를 설정하기 전에 로컬 파일 시스템 채널을 사용하여 워크스테이션에서 conda 패키지를 빌드하고 테스트할 수 있습니다. 이 접근 방식을 사용하면 레시피를 로컬에서 빠르게 반복하고 패키지를 확인할 수 있습니다.

`rattler-build publish` 명령은 레시피를 빌드하고, 결과 패키지를 채널에 복사하고, 한 번에 채널을 인덱싱합니다. 로컬 파일 시스템 디렉터리를 대상으로 지정하면 디렉터리가 없는 경우에서 자동으로 채널을 `rattler-build` 생성하고 초기화합니다.

다음 지침은 Blender의 [Deadline Cloud 샘플 리포지토리의 4.5 샘플](https://github.com/aws-deadline/deadline-cloud-samples) 레시피를 사용합니다GitHub. 샘플 리포지토리에서 다른 레시피를 대체하거나 자체 레시피를 사용할 수 있습니다.

## 사전 조건
<a name="build-test-locally-prereqs"></a>

시작하기 전에 워크스테이션에 다음 도구를 설치합니다.
+ **pixi** - 패키지를 설치하고 테스트`rattler-build`하는 데 사용하는 패키지 관리자입니다. [pixi.sh](https://pixi.sh) pixi를 설치합니다.
+ **래틀러 빌드 -** Deadline Cloud conda 레시피에서 사용하는 패키지 빌드 도구입니다. pixi를 설치한 후 다음 명령을 실행하여를 설치합니다`rattler-build`.

  ```
  pixi global install rattler-build
  ```
+ **git** - 샘플 리포지토리를 복제하는 데 필요합니다. 에서 용 Windowsgit는 일부 Windows 샘플 레시피에 필요한 `bash`쉘도 제공합니다. [https://gitforwindows.org/](https://gitforwindows.org/) 

## 로컬 채널에 패키지 빌드 및 게시
<a name="build-test-locally-build"></a>

이 절차에서는 Deadline Cloud 샘플 리포지토리를 복제하고 `rattler-build publish`를 사용하여 패키지를 빌드하고 로컬 파일 시스템 채널에 게시합니다.

**로컬 채널에 패키지를 빌드하고 게시하려면**

1. Deadline Cloud 샘플 리포지토리를 복제합니다.

   ```
   git clone https://github.com/aws-deadline/deadline-cloud-samples.git
   ```

1. 디렉터리를 `conda_recipes`로 변경합니다.

   ```
   cd deadline-cloud-samples/conda_recipes
   ```

1. 다음 명령을 실행하여 Blender 4.5 레시피를 빌드하고 패키지를 로컬 채널 디렉터리에 게시합니다.

   Linux 및에서 다음 명령을 macOS실행합니다.

   ```
   rattler-build publish blender-4.5/recipe/recipe.yaml \
       --to file://$HOME/my-conda-channel
   ```

   Windows (cmd)에서 다음 명령을 실행합니다.

   ```
   rattler-build publish blender-4.5/recipe/recipe.yaml ^
       --to file://%USERPROFILE%/my-conda-channel
   ```

   `rattler-build publish` 명령은 다음 작업을 수행합니다.
   + 레시피에서 패키지를 빌드합니다.
   + 디렉터리가 없는 경우 채널 디렉터리를 생성합니다.
   + 패키지 파일을 채널에 복사합니다.
   + 패키지 관리자가 패키지를 찾을 수 있도록 채널을 인덱싱합니다.

   패키지 레시피가 [conda-forge](https://conda-forge.org/)와 같은 특정 채널의 패키지에 의존하는 경우 명령에 `-c conda-forge`를 추가합니다.

레시피를 변경한 후 패키지를 다시 빌드하려면 `--build-number=+1`를 추가하여 빌드 번호를 자동으로 증가시킵니다.

```
rattler-build publish blender-4.5/recipe/recipe.yaml \
    --to file://$HOME/my-conda-channel \
    --build-number=+1
```

에 대한 자세한 내용은 [래틀러 빌드 게시 설명서를](https://rattler-build.prefix.dev/latest/publish/) `rattler-build publish`참조하세요.

## 빌드 디버깅
<a name="build-test-locally-debug"></a>

빌드에 실패하면는 사용자가 조사할 수 있도록 빌드 디렉터리를 `rattler-build` 보존합니다. 다음 명령을 실행하여 모든 환경 변수가 빌드 중에 설정된 상태로 빌드 환경에서 대화형 셸을 엽니다.

```
rattler-build debug shell
```

디버그 쉘에서 파일을 수정하고, 개별 빌드 명령을 실행하고, 종속성을 추가하여 문제를 격리할 수 있습니다. 자세한 내용은 래틀러 빌드 설명서의 빌드 [디버깅](https://rattler-build.prefix.dev/latest/debugging_builds/)을 참조하세요.

## 패키지 테스트
<a name="build-test-locally-test"></a>

패키지를 빌드하고 게시한 후 임시 pixi 프로젝트를 생성합니다. 프로젝트를 사용하여 로컬 채널에서 패키지를 설치하고 올바르게 작동하는지 확인합니다.

**패키지를 테스트하려면**

1. 임시 테스트 디렉터리를 생성하고 로컬 채널로 pixi 프로젝트를 초기화합니다.

   Linux 및에서 다음 명령을 macOS실행합니다.

   ```
   mkdir package-test-env
   cd package-test-env
   pixi init --channel file://$HOME/my-conda-channel
   ```

   Windows (cmd)에서 다음 명령을 실행합니다.

   ```
   mkdir package-test-env
   cd package-test-env
   pixi init --channel file://%USERPROFILE%/my-conda-channel
   ```

1. 프로젝트에 패키지를 추가합니다.

   ```
   pixi add blender=4.5
   ```

1. 패키지가 올바르게 작동하는지 확인합니다.

   ```
   pixi run blender --version
   ```

패키지에 만족하면 Amazon S3 conda 채널에 패키지를 게시하여 Deadline Cloud 작업자가 패키지를 설치할 수 있도록 할 수 있습니다. [S3 conda 채널에 패키지 게시를](publish-packages-s3-channel.md) 참조하세요.

## 정리
<a name="build-test-locally-cleanup"></a>

테스트 후 테스트 프로젝트와 로컬 채널을 제거할 수 있습니다.

**테스트 리소스를 정리하려면**

1. 테스트 프로젝트 디렉터리를 제거합니다.

   Linux 및에서 다음 명령을 macOS실행합니다.

   ```
   rm -rf package-test-env
   ```

   Windows (cmd)에서 다음 명령을 실행합니다.

   ```
   rmdir /s /q package-test-env
   ```

1. 로컬 conda 채널 디렉터리를 제거합니다.

   Linux 및에서 다음 명령을 macOS실행합니다.

   ```
   rm -rf $HOME/my-conda-channel
   ```

   Windows (cmd)에서 다음 명령을 실행합니다.

   ```
   rmdir /s /q %USERPROFILE%\my-conda-channel
   ```

1. (선택 사항) 빌드된 패키지 파일이 포함된 `rattler-build` 출력 디렉터리를 제거합니다.

   Linux 및에서 다음 명령을 macOS실행합니다.

   ```
   rm -rf deadline-cloud-samples/conda_recipes/output
   ```

   Windows (cmd)에서 다음 명령을 실행합니다.

   ```
   rmdir /s /q deadline-cloud-samples\conda_recipes\output
   ```