如何使用Google Ko构建和推送Go图像?你能告诉我cloudbuild.yaml使用谷歌ko创建图像和推送go图像



我需要在从git签出后使用谷歌Ko构建go项目,然后将图像推送到接受凭据的私有artifactory。如何在cloudbuild.yaml中定义上述步骤?采取源路径的步骤,以及采取私有存储库路径的步骤。如何通过脚本提供artifactory的凭据?

您得到的错误是由于failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "bash"

默认情况下,ko命令使用Distroles图像集合(gcr.io/distroles/static:nonrootimage(,它不包含shell或其他可执行文件减少容器的攻击面。

您可以首先创建Kodocker映像,我们将使用此docker映像作为Cloudbuild的基本iamage。我们将把Kodocker镜像推送并保存到GCR

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

cloudbuild.yaml可以在cloudbuild上构建映像,或者您也可以在本地运行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

相关内容

  • 没有找到相关文章

最新更新