View a markdown version of this page

애플리케이션 또는 플러그인에 대한 conda 패키지 생성 - 기한 클라우드

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

애플리케이션 또는 플러그인에 대한 conda 패키지 생성

conda 패키지는 모든 언어로 작성된 소프트웨어의 압축된 아카이브입니다. Conda는 다양한 운영 체제 및 아키텍처 조합을 지원하므로 Python 및 기타 언어용 라이브러리와 Nuke 함께 BlenderMaya, 및와 같은 전체 애플리케이션을 패키징할 수 있습니다. conda 패키지에 대한 자세한 내용은 conda 설명서의 패키지를 참조하세요.

conda 패키지를 사용하려면 가상 환경에 설치합니다. conda 가상 환경에는 패키지가 설치된 접두사 디렉터리가 있습니다. 패키지를 설치하면 지원되는 경우 파일의 하드링크 또는 리링크가 사용되므로 동일한 패키지로 여러 환경을 생성해도 상당한 추가 디스크 공간이 사용되지 않습니다. 가상 환경을 사용하려면 가상 환경을 활성화하여 환경 변수를 설정합니다. 활성화는 패키지가 제공하는 스크립트를 실행하여 각 패키지에 PATH 또는 기타 환경 변수를 수정할 수 있는 기회를 제공합니다. Conda 패키지에는 일반적으로 애플리케이션 또는 라이브러리가 포함되어 있지만 유연한 활성화를 통해 공유 파일 시스템에 설치된 애플리케이션을 가리킬 수도 있습니다.

사용자 지정 패키지를 만들려면 세 단계가 필요합니다. 레시피에는 빌드 지침이 포함되어 있고, 패키지는 빌드된 아티팩트(.conda 또는 .tar.bz2 파일)이며, 채널은 설치를 위해 패키지를 호스팅합니다. rattler-build publish 명령은 세 단계를 모두 처리합니다. 즉, 레시피를 패키지에 빌드하고 채널에 게시하거나 패키지 아티팩트를 직접 가져와 게시할 수 있습니다.

conda-forge 커뮤니티는 광범위한 오픈 소스 소프트웨어용 패키지 레시피를 유지 관리하고 conda-forge 채널에서 패키지 아티팩트를 호스팅합니다. 를 패키지 소스conda-forge로 포함하도록 대기열을 구성한 다음 실행할 conda-forge 패키지에 의존하는 사용자 지정 패키지를 빌드할 수 있습니다. Linux의 경우 conda-forge는 일관된 컴파일 및 연결 옵션이 선택된 상태로 CUDA 지원을 포함한 전체 컴파일러 도구 체인을 호스팅합니다. conda-forge 패키지를 자체 레시피의 종속성으로 사용하거나 동일한 환경에서 사용자 지정 패키지와 함께 설치할 수 있습니다.

종속성을 포함한 전체 애플리케이션을 conda 패키지로 결합할 수 있습니다. Deadline Cloud가 서비스 관리형 플릿의 기한 클라우드 채널에 제공하는 패키지는이 바이너리 재패키징 접근 방식을 사용합니다. 이렇게 하면 conda 가상 환경에 맞게 설치와 동일한 파일이 구성됩니다.

참고

대규모 애플리케이션은 소스 아카이브, 추출된 파일 및 빌드 출력을 위해 수십 GB의 여유 디스크 공간이 필요할 수 있습니다. 패키지 빌드 출력을 위해 사용 가능한 공간이 충분한 디스크를 사용해야 합니다.

애플리케이션 패키징

conda용 애플리케이션을 다시 패키징할 때는 다음 두 가지 목표가 있습니다.

  • 애플리케이션의 대부분의 파일은 기본 conda 가상 환경 구조와 분리되어야 합니다. 그런 다음 환경은 애플리케이션을 conda-forge와 같은 다른 소스의 패키지와 혼합할 수 있습니다.

  • conda 가상 환경이 활성화되면 PATH 환경 변수에서 애플리케이션을 사용할 수 있어야 합니다.

conda용 애플리케이션을 다시 패키징하려면
  1. 애플리케이션을와 같은 하위 디렉터리에 설치하는 conda 빌드 레시피를 작성합니다$CONDA_PREFIX/opt/<application-name>. 이렇게 하면 bin 및와 같은 표준 접두사 디렉터리와 구분됩니다lib.

  2. symlink 또는 시작 스크립트를 $CONDA_PREFIX/bin에 추가하여 애플리케이션 바이너리를 실행합니다.

    또는 conda activate 명령이 실행할 activate.d 스크립트를 생성하여 PATH에 애플리케이션 바이너리 디렉터리를 추가합니다. 에서 symlink를 생성할 수 Windows있는 모든 환경에서 지원되지 않는 경우 애플리케이션 시작 또는 activate.d 스크립트를 대신 사용합니다.

  3. 일부 애플리케이션은 Deadline Cloud 서비스 관리형 플릿에 기본적으로 설치되지 않은 라이브러리에 의존합니다. 예를 들어 X11 창 시스템은 일반적으로 비대화형 작업에 필요하지 않지만 일부 애플리케이션에서는 그래픽 인터페이스 없이 실행해야 합니다. 생성한 패키지 내에서 이러한 종속성을 제공해야 합니다.

  4. 애플리케이션이 플러그인을 지원하는 경우 플러그인 패키지가 가상 환경의 애플리케이션과 통합되기 위해 따라야 하는 명확한 규칙을 제공합니다. 예를 들어 Maya 2026년 샘플 레시피는 Maya 플러그인에 대한이 규칙을 문서화합니다.

  5. 패키징하는 애플리케이션의 저작권 및 라이선스 계약을 준수해야 합니다. Conda 채널에 프라이빗 Amazon S3 버킷을 사용하여 배포를 제어하고 팜에 대한 패키지 액세스를 제한하는 것이 좋습니다.

deadline-cloud 채널의 패키지에 대한 샘플 레시피는의 Deadline Cloud 샘플 리포지토리에서 사용할 수 있습니다GitHub.

플러그인 패키징

애플리케이션 플러그인은 자체 conda 패키지로 패키징할 수 있습니다. 플러그인 패키지를 생성할 때 다음 지침을 따릅니다.

  • 빌드 레시피에 호스트 애플리케이션 패키지를 빌드 및 실행 종속성으로 포함합니다recipe.yaml. 빌드 레시피가 호환되는 패키지에만 설치되도록 버전 제약 조건을 사용합니다.

  • 플러그인 등록에 대한 호스트 애플리케이션 패키지 규칙을 따릅니다.

어댑터 패키지

일부 Deadline Cloud 애플리케이션 통합은 애플리케이션 인터페이스를 확장하여 작업 템플릿 작성을 간소화하는 어댑터를 사용합니다. 어댑터는 백그라운드 데몬 실행, 상태 보고, 경로 매핑 적용을 지원하는 명령줄 인터페이스입니다. 자세한 내용은의 Open Job Description Adaptor 런타임을 참조하세요GitHub. 예를 들어의 deadline-cloud-for-mayaGitHub에는 통합 작업 제출 GUI와 서비스 관리형 플릿에서 maya-openjd 패키지로 사용할 수 있는 Maya 어댑터가 포함되어 있습니다.

Deadline Cloud 제출자 GUIs의 작업 제출에는 작업을 실행하기 위한 가상 환경에 포함할 conda 패키지를 지정하는 CondaPackages 파라미터 값이 포함됩니다. 의 CondaPackages 파라미터 값은 Maya 일반적으로과 같maya=2025.* maya-openjd=0.15.* maya-mtoa으며 플러그인 패키지에 대한 대체 항목을 포함할 수 있습니다. 대기열 환경에서 작업 실행을 위한 conda 가상 환경을 설정하면 이러한 패키지 이름과 버전 제약 조건이 호환되도록 확인되고 실행해야 하는 모든 종속성 패키지가 추가됩니다. 각 어댑터 및 플러그인 패키지는의 버전, Python의 Maya버전 및 기타 종속성을 포함하여 호환되는 항목을 지정합니다.

maya-openjd 레시피와 같은 샘플을 사용하여 자체 어댑터 패키지를 빌드하려면 conda-forge에서 제공하는 Python 및 기타 종속성을 위한 패키지를 기반으로 빌드GitHub할 수 있습니다. 종속성을 충족하려면 먼저 기한openjd-adaptor-runtime 레시피를 빌드해야 할 수 있습니다.