在这段视频的强烈启发下,我开始为我的项目建立CI管道。
目标:每次使用标签成功构建时,都要更新停靠器映像。
问题:在我的cloudbuild.yaml中,我指定了构建映像的步骤--这很好,但是接下来我想要使用这些映像来更新k8s部署配置以使用这些映像。但是,只有在构建成功后,映像才被推入容器注册表。
我希望你们看到我在这里运行的问题,我希望有一个简单的解决方案,我在这里错过了。
我的cloudbuild.yaml:
steps:
- name: 'gcr.io/cloud-builders/docker'
args: [ 'build', '-t', 'gcr.io/$PROJECT_ID/web:${TAG_NAME}', 'web/' ]
- name: 'gcr.io/google_containers/hyperkube:v1.5.3'
env: ["KUBECONFIG=/workspace/kubeconfig"]
entrypoint: '/hyperkube'
args: ['kubectl','set', 'image', 'deployment/web-deployment', 'web=gcr.io/$PROJECT_ID/web:${TAG_NAME}']
- name: 'gcr.io/google_containers/hyperkube:v1.5.3'
env: ['KUBECONFIG=/workspace/kubeconfig']
entrypoint: '/hyperkube'
args: ['kubectl','apply', '-f', 'k8s-all-config.yaml']
images:
- 'gcr.io/$PROJECT_ID/web:${TAG_NAME}'发布于 2017-05-29 15:12:31
简而言之,构建步骤中使用的凭据目前无法运行kubectl、hyperkube或类似的部署工具。
这个GitHub问题讨论了一些当前可用的工作环境和跟踪,允许将这种部署工具作为构建的一部分使用。我们将在几周内推出所需的更改,并将在发生时更新该问题。
(完全披露:我是的技术负责人。)
更新:基本问题已经解决,现在应该可以工作了。(有关示例工作使用情况,请参见讨论。)
https://stackoverflow.com/questions/44245194
复制相似问题