簡體   English   中英

如何使用 Google Ko 構建和推送 Go 映像?你能告訴我 cloudbuild.yaml 創建映像並使用 Google 推送 go 映像的步驟嗎?

[英]How to build and push Go image using Google Ko?Could you tell me the steps for cloudbuild.yaml to create the image and push go image using Google ko?

從 git 簽出后,我需要使用 google Ko 構建 go 項目,然后將圖像推送到需要憑據的私有工件。 如何在 cloudbuild.yaml 中定義上述步驟? 采用源路徑以及采用私有存儲庫路徑的步驟。 如何通過腳本賦予神器的憑據?

您收到的錯誤是由於failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "bash"

默認情況下,ko 命令使用來自 Distroless 鏡像集合(gcr.io/distroless/static:nonroot 鏡像)的安全且精簡的基礎鏡像,該鏡像不包含 shell 或其他可執行文件以減少攻擊面的容器。

您可以先創建Ko docker 鏡像,我們將使用這個 docker 鏡像作為 Cloudbuild 的基礎鏡像。 我們將Ko docker 鏡像推送並保存到GCR

Github: https://github.com/GoogleCloudPlatform/cloud-builders-community/tree/master/ko

cloudbuild.yaml構建映像,或者您也可以在本地運行docker build -t來構建 docker

構建 docker 映像並將其推送到GCR后,我們可以編寫cloudbuild.yaml來構建應用程序

試試這個Cloudbuild.yaml例如

steps:
  - name: gcr.io/$PROJECT_ID/ko
    entrypoint: /bin/sh
    env:
      - 'KO_DOCKER_REPO=gcr.io/$PROJECT_ID'
    args:
      - -c
      - |
        echo $(/ko publish --preserve-import-paths ./cmd/ko) > ./ko_container.txt || exit 1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM