![](/img/trans.png)
[英]Cloud Build does not push my Docker image to Artifact Registry with images field in cloudbuild.yaml
[英]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.