從公用登錄中的映像檔建立工作
建立工作時,您可以指定每次執行工作時使用的工作量配置資訊。 您可以透過控制台或使用 CLI 建立工作。
使用控制台建立工作
使用 icr.io/codeengine/helloworld 映像檔來建立 Code Engine 工作。 此工作列印 Hello from helloworld! I'm a task job!。
- 開啟 Code Engine。
- 選擇「開始建立」。
- 請從可用專案清單中選取一個專案。 您也可以 建立新的。 請注意,您必須具有選取的專案才能建立工作。
- 選擇工作。
- 輸入工作名稱;例如:
myjob。 - 指定工作的容器映像檔,例如
icr.io/codeengine/helloworld。 如果您有想要轉換為工作之容器映像檔的專屬原始碼,請參閱 建置容器映像檔。 如需用於此範例之程式碼的相關資訊,請參閱helloworld。 - 修改環境變數或執行時期設定的任何預設值。 如需這些選項的相關資訊,請參閱 用於建立及執行工作的選項。
- 按一下建立。
- 從工作頁面中,當您的工作處於
ready狀態時,按一下 提交工作,以根據現行配置來提交工作。 - 從「提交工作」窗格中,接受所有預設值,然後再次按一下 提交工作 以執行您的工作。
在「提交作業」窗格中,您可以檢視並選擇性地變更預設配置值,例如實例、CPU、記憶體、作業重試次數和作業逾時。 您可以指定要執行的平行作業實例的陣列大小或陣列索引。 針對 陣列大小,提供此工作要平行執行的實例數。 對於數組索引,為您的自訂索引集提供逗號分隔的清單。 例如,要使用一組自訂的執行此作業 5 索引,指定 3,12-14,25。
您也可以 指定工作陣列大小的自訂值,這會更新自動注入 JOB_ARRAY_SIZE 環境變數的值。 提交此工作之後,系統會在「工作詳細資料」頁面上顯示工作實例的狀態。 如果您在「提交作業」窗格中指定數組大小而不是數組索引,則從
Configuration 在作業詳細資料頁面的部分,此資訊以陣列索引的形式提供。
您可以在「工作狀態」頁面上找到工作執行的詳細資料。
使用 CLI 建立工作
若要使用 CLI 建立工作配置,請使用 job create 指令。 這個指令需要名稱和映像檔,也容許其他選用引數。 如需選項的完整清單,請參閱 ibmcloud ce job create 指令。
開始之前
- 設定 Code Engine CLI 環境。
- 建立並使用專案。
下列 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,其中 REGISTRY 和 TAG 皆為可選項目。 若未指定 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 儲存庫中的範例。