CI 使用 Google 云构建进行设置
CI set up with Google Cloud build
受到来自 Google 的 this video 的极大启发 NEXT 我已经开始为我的项目构建 CI 管道。
目标:每次使用标签成功构建时,让产品集群更新 docker 图像。
问题:在我的 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}'
简而言之,您构建步骤中使用的凭据目前无法 运行 kubectl
、hyperkube
或类似的部署工具。
This GitHub issue 讨论了一些当前可用的解决方法和跟踪,以便在您的构建中使用这种部署工具。我们将在几周内推出所需的更改,并将在问题发生时更新它。
(全面披露:我是 Google Cloud Container Builder 的技术主管。)
更新:基础问题已解决,现在应该可以了。 (有关示例工作用法,请参阅 discussion。)
受到来自 Google 的 this video 的极大启发 NEXT 我已经开始为我的项目构建 CI 管道。
目标:每次使用标签成功构建时,让产品集群更新 docker 图像。
问题:在我的 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}'
简而言之,您构建步骤中使用的凭据目前无法 运行 kubectl
、hyperkube
或类似的部署工具。
This GitHub issue 讨论了一些当前可用的解决方法和跟踪,以便在您的构建中使用这种部署工具。我们将在几周内推出所需的更改,并将在问题发生时更新它。
(全面披露:我是 Google Cloud Container Builder 的技术主管。)
更新:基础问题已解决,现在应该可以了。 (有关示例工作用法,请参阅 discussion。)