GCP计算引擎上的持续交付

时间:2018-01-11 12:22:41

标签: docker gitlab google-compute-engine

我在GitLab上有一个管道,每次推送都会触发一个构建,如果所有测试都在master分支上传递,那么构建一个Docker镜像并发布到GitLab Registry。

在Google Cloud Platform上我有一个Compute Engine(VM)实例,其上安装了一个docker镜像(在GCP上我还有一个在Google Container Registry中发布的docker镜像 - 我现在手动完成了它。)

我想自动化在GCP计算机引擎实例上更新Docker镜像的步骤。

  1. 我是如何从GCP访问GitLab regitry的,即使我将删除Compute Engine实例并且我会创建其他实例?

  2. 如何更新在Compute Engine内运行的docker镜像而无需重新启动VM且无需连接到SSH? (当我将Docker镜像发布到注册表时,我希望能够从GitLab触发和更新。)

  3. 注意:我现在还没准备好将Kubernetes用于我的项目。

    谢谢。

1 个答案:

答案 0 :(得分:0)

尝试将脚本/命令(需要访问GitLab图像)存储为Google Cloud bucket中的文件。将该文件设置为可执行文件,并通过相应的VM运行它作为解决方法。确保您已经将相应的access control放在了桶上。

您还可以在GitLab容器注册表中查看此administration篇文章以进行构建并推送images。根据{{​​3}}文档,GitLab还提供了容器注册表管理面板,可帮助管理项目中的图像。

您还可以使用脚本/命令更新可执行文件下的docker镜像,并在crontab的帮助下运行它,这可能最终更新VM中的docker镜像。您还需要包含触发GitLab更新所需的命令。

目前还没有gitlab与GCP平台的集成。但是,正在进行this用于将GitLab存储库与Google Container构建器连接。如果您愿意,可以查看FR并添加注释。