建立從專用儲存庫取回來源的建置配置

如果您的來源位於專用儲存庫中,請使用包含從專用儲存庫取回來源之位置相關資訊的設定來建立建置配置。 對於建置輸出,您可以選擇指定登錄詳細資料以及登錄密鑰,以存取登錄中的建置映像檔。 或者,您可以選擇讓 Code Engine 負責從來源為您建置映像檔,並將映像檔儲存在 IBM Cloud Container Registry中。 在此情況下,您不需要指定登錄密鑰或映像檔登錄的位置。

建立建置配置不會建立映像檔,但會建立配置來建置映像檔。 然後,您必須執行參照建置配置的建置,以建立映像檔。 在執行建置之前,不會驗證建置配置或使用建置配置來建立映像檔。 建置配置會啟用映像檔的多個後續建置,例如當變更套用至來源儲存庫時。

您可以選擇使用 .ceignore 檔案來忽略原始碼內的某些檔案型樣,其行為與 .gitignore 檔案類似。 例如,node.js 應用程式的 .ceignore 檔案項目可能包括 node_modules.npm。 如需要忽略的其他範例檔案型樣,請參閱 GitHub.gitignore 儲存庫

從主控台建立建置配置 (專用儲存庫)

  1. 移至 Code Engine 儀表板

  2. 選取您在其中新增儲存器登錄的專案。

  3. 從專案頁面中,按一下 映像檔建置

  4. 映像檔建置 標籤中,按一下 建立。 這時會開啟 指定建置詳細資料 側邊畫面,供您輸入建置的詳細資料。

  5. 來源 區段中,輸入建置的名稱、來源儲存庫的 URL,以及程式碼儲存庫存取權。

    • 如果您的程式碼位於專用儲存庫中,請將 SSH URL 用於程式碼儲存庫 URL,並選取現有 SSH 密碼的名稱或 建立 SSH 密碼。 SSH URL 的範例為 git@github.com:IBM/CodeEngine.git
    • 選擇性地選取來源分支名稱。 如果您未提供分支名稱,且將欄位保留空白,則 Code Engine 會自動使用指定儲存庫的預設分支。 您可以輸入任何其他分支名稱、標籤或確定 ID。

    下一步繼續。

  6. 策略 區段中,選取您要使用的 策略

    • 如果您選取 Dockerfile,也可以指定 Dockerfile 的替代路徑。
    • 建置資源下選取建置的大小。

    下一步 以進入最後一個區段。

  7. 輸出 區段中,輸入容器映像檔的詳細資料。

    • 選取現有的登錄密鑰,或按一下 建立登錄密鑰 以新增登錄密鑰。
    • 如果您要將映像檔建置至帳戶中的 Container Registry 實例,則可以選取 Code Engine managed secret 並 Code Engine 為您建立並管理密鑰。
    • 然後,選取您要建置之映像檔的名稱空間、儲存庫及標籤。 您可以選擇 Code Engine,以在 Container Registry 中建立及管理名稱空間。
    • 如果您的映像檔存在於 Container Registry中,您可以從現有的映像檔中選取,或輸入新的儲存庫或標籤。
  8. 按一下 完成,以完成建立建置。

建立建置配置之後,您必須 執行建置 來建立映像檔。 建立映像檔之後,您可以使用新建置的映像檔來 部署應用程式執行工作

使用 CLI (專用儲存庫) 建立建置配置

若要使用 CLI 來建立建置配置,請使用 build create 指令。 如需選項的完整清單,請參閱 ibmcloud ce build create 指令。

使用 build create 指令,您可以選擇讓 Code Engine 負責從您的來源建置映像檔,並將映像檔儲存在 IBM Cloud Container Registry中。 對於此 自動存取 案例,您不需要指定登錄密鑰或映像檔登錄的位置。 或者,您可以指定建置映像檔輸出的位置,並提供登錄密鑰,讓 Code Engine 可以存取建置結果並將其推送至登錄。

使用 CLI 建立建置配置 (具有專用儲存庫來源及自動存取登錄)

在此實務範例中,Code Engine 會從專用儲存庫來源建置映像檔,並自動將映像檔上傳至 IBM Cloud Container Registry。 如需設定 Code Engine 的必要許可權以自動存取 Container Registry中這些映像檔的相關資訊,請參閱 設定映像檔登錄的權限

開始之前

建立建置配置以從專用儲存庫建置映像檔,並讓 Code Engine 自動儲存並存取映像檔。 例如,下列 build create 指令會建立稱為 helloworld-build-private 的建置配置,以從專用 Git 儲存庫 https://github.com/myprivaterepo/builds 建置,並使用 buildpacks 策略和 medium 建置大小。Code Engine 會自動將映像檔上傳至 IBM Cloud Container Registry。 此外,因為未使用 --commit 選項指定儲存庫的分支名稱,所以 Code Engine 會自動使用指定儲存庫的預設分支,即 main 針對此 Git 儲存庫。 透過不指定映像檔登錄的位置或登錄密鑰,Code Engine 會使用自動存取將建置輸出推送至 IBM Cloud Container Registry。

因為提供的 Git 儲存庫是專用的,所以存取需要 Git 儲存庫密鑰。 因此,您指定的 --source 必須使用 SSH 通訊協定,例如 git@github.com:myprivaterepo/builds.git--source 的值不得使用 httphttps 格式。

ibmcloud ce build create --name helloworld-build-private --source git@github.com:myprivaterepo/builds.git --context-dir /hello --strategy buildpacks --git-repo-secret myrepo

建立建置配置之後,您必須 執行建置 來建立映像檔。 建立映像檔之後,您可以使用新建置的映像檔來 部署應用程式執行工作

使用 CLI 建立建置配置 (具有專用儲存庫來源及使用者提供的登錄存取權)

在此實務範例中,Code Engine 會使用您提供的 Git 儲存庫密鑰從專用儲存庫來源建置映像檔,然後將映像檔上傳至具有您提供的登錄存取權的容器登錄。

開始之前

建立建置配置以從專用儲存庫建置映像檔,並使用登錄密碼指定建置輸出的映像檔登錄位置。 使用 build create 指令,指定 --image 選項以提供映像檔登錄的位置,並指定 --registry-secret 選項以存取登錄。 例如,下列指令會建立稱為 helloworld-build-private 的建置配置,以從專用 Git 儲存庫 https://github.com/myprivaterepo/builds 建置,使用 buildpacks 策略及 medium 建置大小,並使用 myregistry 中定義的登錄密碼將映像檔儲存至 us.icr.io/mynamespace/codeengine-helloworld

因為提供的 Git 儲存庫是專用的,所以存取需要 Git 儲存庫密鑰。 因此,您指定的 --source 必須使用 SSH 通訊協定,例如 git@github.com:myprivaterepo/builds.git--source 的值不得使用 httphttps 格式。

在此範例中,指令使用預設 medium 建置大小。 因為儲存庫的分支名稱未使用 --commit 選項指定,所以 Code Engine 會自動使用指定儲存庫的預設分支。

ibmcloud ce build create --name helloworld-build-private --image us.icr.io/mynamespace/codeengine-helloworld --registry-secret myregistry --source git@github.com:myprivaterepo/builds.git --context-dir /hello --strategy buildpacks --git-repo-secret myrepo

建立建置配置之後,您必須 執行建置 來建立映像檔。 建立映像檔之後,您可以使用新建置的映像檔來 部署應用程式執行工作