使用Gitlab Runner的Google云计算引擎

使用Gitlab Runner的Google云计算引擎,gitlab,google-compute-engine,Gitlab,Google Compute Engine,我正在为负载平衡器下使用的计算引擎模板制作一个映像。 我已经准备好了一切,包括在给定分支合并时触发的GitLab管道 我现在的问题是,我希望在启动新实例时运行它。 这允许新实例始终是运行的最新代码 我正在使用gitlab api使用启动脚本触发此管道。 这一切都很好地工作,但是,在部分过程中,我得到了以下错误 Session terminated, killing shell... ...killed. ERROR: Job failed: aborted: terminated Comput

我正在为负载平衡器下使用的计算引擎模板制作一个映像。 我已经准备好了一切,包括在给定分支合并时触发的GitLab管道

我现在的问题是,我希望在启动新实例时运行它。 这允许新实例始终是运行的最新代码

我正在使用gitlab api使用启动脚本触发此管道。 这一切都很好地工作,但是,在部分过程中,我得到了以下错误

Session terminated, killing shell... ...killed.
ERROR: Job failed: aborted: terminated
Compute Engine的启动脚本如下所示

sudo gitlab-runner register --non-interactive -u https://gitlab.com -r <token> --executor shell

curl --request POST --form token=<token> --form ref=feature/devops-auto-deploy https://gitlab.com/api/v4/projects/<project_id>/trigger/pipeline
sudogitlab运行程序寄存器——非交互式-uhttps://gitlab.com -r——执行器外壳
curl--request POST--form token=--form ref=feature/devops自动部署https://gitlab.com/api/v4/projects//trigger/pipeline
这将设置跑步者
然后运行触发管道

当服务器启动并运行时,同样的管道工作。 谷歌启动脚本是否存在某种类型的超时

不知道这里发生了什么。 有什么想法吗


谢谢大家

我想gitlab runner register不能在启动时运行。在gitlab文档中:VM应该首先旋转,然后可以在其上安装和配置gitlab。启动脚本只是运行命令,我认为它们没有超时。据我所知,唯一的超时是7分钟,此时无法访问元数据服务器。您可以进一步检查启动脚本日志以获得更多线索:我实际上能够通过在两个命令之间添加一个&&来修复它。一旦我这样做了,它就开始正常工作了。我想gitlab runner register不能在启动时运行。在gitlab文档中:VM应该首先旋转,然后可以在其上安装和配置gitlab。启动脚本只是运行命令,我认为它们没有超时。据我所知,唯一的超时是7分钟,此时无法访问元数据服务器。您可以进一步检查启动脚本日志以获得更多线索:我实际上能够通过在两个命令之间添加一个&&来修复它。一旦我这么做了,它就开始正常工作了