從公用登錄中的映像檔建立工作

建立工作時,您可以指定每次執行工作時使用的工作量配置資訊。 您可以透過控制台或使用 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/REPOSITORYREGISTRY/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 儲存庫中的範例