View a markdown version of this page

Amazon S3 conda 채널에 패키지 게시 - 기한 클라우드

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

Amazon S3 conda 채널에 패키지 게시

Amazon Simple Storage Service(Amazon S3) 버킷에 conda 패키지를 게시하여 AWS Deadline Cloud(Deadline Cloud) 작업자가 실행 작업을 위해 설치할 수 있습니다. rattler-build publish 명령은 로컬 파일 시스템 채널과 동일한 방식으로 Amazon S3에서 작동합니다. 명령은 레시피를 빌드하고 결과를 게시하거나 이미 빌드한 패키지 파일을 게시할 수 있습니다. 두 경우 모두 명령은 버킷에 패키지를 업로드하고 한 번에 채널을 인덱싱합니다.

rattler-build publish 명령은 표준 자격 증명 체인을 AWS 사용하여를 인증하므로 모든 AWS 도구처럼 AWS 구성을 사용합니다. 자격 증명 구성에 대한 자세한 내용은 AWS Command Line Interface (AWS CLI) 사용 설명서구성 및 자격 증명 파일 설정을 참조하세요.

사전 조건

Amazon S3에 패키지를 게시하기 전에 다음 사전 조건을 완료합니다.

  • pixi 및rattler-build - pixi.sh pixi를 설치한 다음를 설치합니다rattler-build.

    pixi global install rattler-build
  • git - 샘플 리포지토리를 복제하는 데 필요합니다. 에서 용 Windowsgit는 일부 Windows 샘플 레시피에 필요한 bash쉘도 제공합니다. Windows

  • Amazon S3 버킷 - conda 채널로 사용할 Amazon S3 버킷입니다. Deadline Cloud 팜에서 작업 연결 버킷을 사용하거나 별도의 버킷을 생성할 수 있습니다.

  • AWS 자격 증명 - aws configure 명령 또는 aws login 명령을 사용하여 워크스테이션에서 자격 증명을 구성합니다. 자세한 내용은 AWS Command Line Interface 사용 설명서에서 AWS CLI설정을 참조하세요.

  • IAM 권한 - (선택 사항) 자격 증명의 권한 범위를 줄이려면 Amazon S3 버킷 및 사용하는 채널 접두사(예: )에 대해 다음 권한만 부여하는 (IAM) 정책을 사용할 AWS Identity and Access Management 수 있습니다. /Conda/*

    • s3:GetObject

    • s3:PutObject

    • s3:DeleteObject

    • s3:ListBucket

    • s3:GetBucketLocation

Amazon S3 채널에 패키지 게시

s3:// 대상과 rattler-build publish 함께를 사용하여 Amazon S3 conda 채널에 패키지를 게시합니다. 채널이 버킷에 없는 경우는 채널을 자동으로 rattler-build 초기화합니다. 시작하기 전에 사전 조건을 완료했는지 확인합니다.

다음 예제에서는 Blender의 Deadline Cloud 샘플 리포지토리에서 4.5 샘플 레시피를 게시합니다GitHub. 샘플 리포지토리에서 다른 레시피를 대체하거나 자체 레시피를 사용할 수 있습니다.

Amazon S3 채널에 패키지를 게시하려면
  1. Deadline Cloud 샘플 리포지토리를 복제합니다.

    git clone https://github.com/aws-deadline/deadline-cloud-samples.git
  2. 디렉터리를 conda_recipes로 변경합니다.

    cd deadline-cloud-samples/conda_recipes
  3. 다음 명령을 실행합니다. amzn-s3-demo-bucket을 버킷 이름으로 바꿉니다.

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

    rattler-build publish blender-4.5/recipe/recipe.yaml \ --to s3://amzn-s3-demo-bucket/Conda/Default

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

    rattler-build publish blender-4.5/recipe/recipe.yaml ^ --to s3://amzn-s3-demo-bucket/Conda/Default

    /Conda/Default 접두사는 버킷 내에서 채널을 구성합니다. 다른 접두사를 사용할 수 있지만 접두사는 채널을 참조하는 모든 명령 및 대기열 구성에서 일관되어야 합니다.

업데이트된 패키지를 다시 빌드하고 게시하려면 --build-number=+1를 추가하여 빌드 번호를 자동으로 증가시킵니다.

rattler-build publish blender-4.5/recipe/recipe.yaml \ --to s3://amzn-s3-demo-bucket/Conda/Default \ --build-number=+1

패키지 레시피가 conda-forge와 같은 특정 채널의 패키지에 의존하는 경우 명령에 -c conda-forge를 추가합니다.

로컬 빌드의 파일과 같이 이미 빌드한 패키지 .conda 파일을 게시할 수도 있습니다. amzn-s3-demo-bucket을 버킷 이름으로 바꿉니다.

rattler-build publish output/linux-64/blender-4.5.0-hb0f4dca_0.conda \ --to s3://amzn-s3-demo-bucket/Conda/Default

패키지 테스트

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

패키지를 테스트하려면
  1. 임시 테스트 디렉터리를 생성하고 Amazon S3 채널을 사용하여 pixi 프로젝트를 초기화합니다. amzn-s3-demo-bucket을 버킷 이름으로 바꿉니다.

    mkdir package-test-env cd package-test-env pixi init --channel s3://amzn-s3-demo-bucket/Conda/Default
  2. 프로젝트에 패키지를 추가합니다.

    pixi add blender=4.5
  3. 패키지가 올바르게 작동하는지 확인합니다.

    pixi run blender --version

정리

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

테스트 리소스를 정리하려면
  • 테스트 프로젝트 디렉터리를 제거합니다.

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

    rm -rf package-test-env

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

    rmdir /s /q package-test-env

빌드 디버깅

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

rattler-build debug shell

디버그 쉘에서 파일을 수정하고, 개별 빌드 명령을 실행하고, 종속성을 추가하여 문제를 격리할 수 있습니다. 자세한 내용은 래틀러 빌드 설명서의 빌드 디버깅을 참조하세요.

다른 플랫폼을 위한 패키지 빌드

명령은 rattler-build publish 명령이 실행되는 워크스테이션의 운영 체제에 대한 패키지를 빌드합니다. Deadline Cloud 플릿이 워크스테이션과 다른 운영 체제를 사용하거나 패키지에 다른 호스트 요구 사항이 있는 경우 다음 옵션을 사용할 수 있습니다.

  • 대상 운영 체제와 일치하는 호스트rattler-build publish에서를 실행합니다. 예를 들어 실행 중인 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스Linux를 사용하여 Linux플릿에 대한 패키지를 빌드합니다.

  • Deadline Cloud 패키지 빌드 대기열을 사용하여 대상 플랫폼에서 빌드를 자동화합니다. 패키지 빌드 대기열 생성을 참조하세요.

  • (고급) 교차 컴파일을 사용하여 워크스테이션과 다른 플랫폼용 패키지를 빌드합니다. 자세한 내용은 래틀러 빌드 설명서의 교차 컴파일을 참조하세요.

다음 단계

Amazon S3 conda 채널에 패키지를 게시한 후 채널을 사용하도록 Deadline Cloud 대기열을 구성합니다.