공용 레지스트리의 이미지에서 작업 작성

작업을 작성할 때 작업이 실행될 때마다 사용될 워크로드 구성 정보를 지정할 수 있습니다. 콘솔 또는 CLI를 사용하여 작업을 작성할 수 있습니다.

콘솔에서 작업 작성

icr.io/codeengine/helloworld 이미지를 사용하여 Code Engine 작업을 작성하십시오. 이 작업은 Hello from helloworld! I'm a task job!을(를) 출력합니다.

  1. Code Engine를 여십시오.
  2. '만들기 시작'을 선택하세요.
  3. 사용 가능한 프로젝트 목록에서 프로젝트를 선택하십시오. 프로젝트를 새로 작성할 수도 있습니다. 작업을 작성하려면 선택한 프로젝트가 있어야 합니다.
  4. 작업을 선택하십시오.
  5. 작업의 이름을 입력하십시오(예: myjob).
  6. 작업의 컨테이너 이미지를 지정하십시오(예: icr.io/codeengine/helloworld). 작업에 대한 컨테이너 이미지로 변환할 자체 소스 코드가 있는 경우 컨테이너 이미지 빌드를 참조하십시오. 이 예제에 사용되는 코드에 대한 자세한 정보는 helloworld의 내용을 참조하십시오.
  7. 환경 변수 또는 런타임 설정의 기본값을 수정하십시오. 이러한 옵션에 대한 자세한 정보는 작업 작성 및 실행 옵션을 참조하십시오.
  8. 작성을 클릭하십시오.
  9. 작업 페이지에서 작업이 ready 상태인 경우 작업 제출을 클릭하여 현재 구성을 기반으로 하는 작업을 제출하십시오.
  10. 작업 제출 분할창에서 모든 기본값을 그대로 적용하고 작업 제출을 다시 클릭하여 작업을 실행하십시오.

“작업 제출” 창에서 인스턴스, CPU, 메모리, 작업 재시도 횟수, 작업 시간 초과 등 기본 구성 값을 확인하고 필요에 따라 변경할 수 있습니다. 실행할 병렬 작업 인스턴스에 대해 배열 크기 또는 배열 인덱스를 지정할 수 있습니다. '배열 크기 '에는 이 작업에서 병렬로 실행할 인스턴스 수를 입력하십시오. 배열 인덱스의 경우, 사용자 정의 인덱스 집합을 쉼표로 구분하여 나열하십시오. 예를 들어, 사용자 정의된 ‘ 5 ’ 인덱스 세트를 사용하여 이 작업을 실행하려면 3,12-14,25 을 지정하십시오. 자동으로 삽입된 JOB_ARRAY_SIZE 환경 변수의 값을 업데이트하는 작업 배열 크기에 대한 사용자 정의 값을 지정 할 수도 있습니다. 이 작업을 제출하면 시스템은 작업 세부사항 페이지에 작업 인스턴스의 상태를 표시합니다. “작업 제출” 창에서 배열 인덱스 대신 배열 크기를 지정하면, 작업 세부 정보 페이지의 “ Configuration ” 섹션에서 이 정보가 배열 인덱스로 표시됩니다.

작업 상태 페이지에서 작업 실행에 대한 세부사항을 찾을 수 있습니다.

CLI를 사용하여 작업 작성

CLI를 사용하여 작업 구성을 작성하려면 job create 명령을 사용하십시오. 이 명령에는 이름과 이미지가 필요하며 다른 선택적 인수도 사용할 수 있습니다. 전체 옵션 목록은 ibmcloud ce job create 명령을 참조하십시오.

시작하기 전에

다음 job create 명령은 myjob이라는 작업 구성을 작성하고 컨테이너 이미지 icr.io/codeengine/firstjob을 사용합니다.

ibmcloud ce job create --name myjob  --image icr.io/codeengine/firstjob

출력 예

Creating job 'myjob'...
OK

다음 표에는 이 예에서 job create 명령과 함께 사용되는 옵션이 요약되어 있습니다. 명령 및 해당 옵션에 대한 자세한 정보는 ibmcloud ce job create 명령을 참조하십시오.

명령 옵션
옵션 설명
--image 작업 실행에 사용되는 이미지의 이름입니다. 이 값은 필수입니다. 형식은 REGISTRY/NAMESPACE/REPOSITORY:TAG입니다. 여기서, REGISTRYTAG는 선택사항입니다. TAG를 지정하지 않으면 기본값은 latest입니다. Docker Hub에 있는 이미지의 경우, NAMESPACE/REPOSITORY 형식으로 이미지를 지정할 수 있습니다. REGISTRY 의 기본값은 docker.io 이기 때문입니다. 다른 레지스트리의 경우 REGISTRY/NAMESPACE/REPOSITORY 또는 REGISTRY/NAMESPACE/REPOSITORY:TAG를 사용하십시오.
--name

작업 이름입니다. 프로젝트 내에서 고유한 이름을 사용하십시오. 이 값은 필수입니다.

  • 이름은 소문자 영숫자로 시작하고 끝나야 합니다.
  • 이름은 63자 이하여야 하며 소문자, 숫자 및 하이픈(-)을 포함할 수 있습니다.

다음 단계

  • 작업을 작성한 후 작업을 제출하여 실행하십시오. 작업 실행을 참조하십시오. 작업은 여러 번 실행할 수 있습니다.

  • 작업을 실행한 후 작업 및 작업 실행의 세부사항을 보려면 작업 세부사항 액세스를 참조하십시오.

  • 작업이 작성되었으므로 작업을 이벤트 기반 작업으로 설정하십시오. 이벤트 구독을 사용하여 정기적인 스케줄에 따라 작업을 트리거하거나 파일 업로드 등의 이벤트에 대응하도록 작업을 설정할 수 있습니다.

  • 작업 작성 방식이나 이전의 업데이트 방식에 관계없이 다음 방법 중 하나작업을 업데이트하고 참조 코드를 업데이트할 수 있습니다.

    • Open Container Initiative(OCI)표준에 부합하는 컨테이너 이미지가 있는 경우, 작업을 생성(또는 업데이트)할 때 해당 이미지의 위치로 연결되는 컨테이너 레지스트리 경로를 참조로만 제공하면 됩니다. 공개 레지스트리나 비공개 레지스트리에 있는 이미지를 사용하여 작업을 생성(또는 업데이트)한 다음, 작업 실행 시 참조된 이미지에 액세스할 수 있습니다.

      job create 명령을 사용하여 작업을 작성하고 로컬 또는 저장소 소스에서 컨테이너 이미지를 빌드하도록 --build-source 옵션을 지정했으며 다른 컨테이너 이미지를 가리키도록 작업을 변경하려는 경우 먼저 작업에서 빌드의 연관을 제거해야 합니다. 예를 들어, ibmcloud ce job update -n JOB_NAME --build-clear 를 실행하십시오. 작업에서 빌드의 연관을 제거한 후 다른 이미지를 참조하도록 작업을 업데이트할 수 있습니다.

    • Git 저장소에 있는 소스 코드로 시작하는 경우, Code Engine에서 한 번의 오퍼레이션으로 소스에서 이미지를 빌드하고 작업을 작성하거나 업데이트하도록 선택할 수 있습니다. 이 경우 Code Engine은 이미지를 IBM Cloud® Container Registry에 업로드합니다. 자세한 정보는 저장소 소스 코드에서 작업 작성을 참조하십시오. 이미지 빌드를 더 많이 제어하려면 작업을 작성 또는 업데이트하고 작업을 실행하기 전에 Code Engine을 사용하여 이미지를 빌드하도록 선택할 수 있습니다.

    • 로컬 워크스테이션에 있는 소스 코드로 시작하는 경우, Code Engine에서 하나의 CLI 명령으로 소스에서 이미지를 빌드하고 작업을 작성하도록 선택할 수 있습니다. 이 경우 Code Engine은 이미지를 IBM Cloud® Container Registry에 업로드합니다. 자세한 정보는 CLI를 사용하여 로컬 소스 코드에서 작업 작성을 참조하십시오. 이미지 빌드를 더 많이 제어하려면 작업을 작성 또는 업데이트하고 작업을 실행하기 전에 Code Engine을 사용하여 이미지를 빌드하도록 선택할 수 있습니다.

    예를 들어, 사용자가 작업에 대한 소스 개발을 진행하는 동안 Code Engine에서 로컬 소스의 빌드를 처리하도록 선택할 수 있습니다. 그런 다음 이미지가 만기되면 원하는 특정 이미지를 참조하도록 작업을 업데이트할 수 있습니다. 이 프로세스는 필요에 따라 반복할 수 있습니다.

    업데이트된 작업을 실행할 때 이미지에 대해 태그를 지정하지 않는 한 참조된 컨테이너 이미지의 최신 버전이 작업 실행에 사용됩니다. 이미지에 대해 태그를 지정한 경우 태그 지정된 이미지가 작업 실행에 사용됩니다.

더 많은 코드 예를 찾고 계십니까? IBM Cloud Code Engine GitHub 저장소의 예제를 확인해 보세요.