仅限内部网络的VM上的GitLab Runner

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了仅限内部网络的VM上的GitLab Runner相关的知识,希望对你有一定的参考价值。

我正在从Google Cloud中我的GKE集群上的官方jetstack舵表运行GitLab实例。

我想将Windows VM添加到仅具有内部网络访问权限的VPC网络中。

通常,您必须在GitLab的https地址上注册GitLab运行程序,这对于内部网络是不可能的。是否可以通过内部网络针对GitLab实例注册GitLab运行程序?

GitLab实例的https资源通过nginx-ingress控制器发布,该控制器也在该GKE集群上运行。

是否有一种方法可以使用正在端口8080上监听的内部IP向gitlab-unicorn pod进行注册?

谢谢!

答案

如果可以从内部网络访问gitlab,则可以使用clone_url选项

请参见documentation

clone_url的工作方式

[如果GitLab实例暴露给跑步者无法使用的URL,则可以配置clone_url。例如; GitLab暴露于https://gitlab.example.com,但由于防火墙设置,跑步者无法达到。如果跑步者可以到达192.168.1.23上的节点,则应将clone_url设置为"http://192.168.1.23

仅当设置了clone_url时,跑步者才会以http://gitlab-ci-token:s3cr3tt0k3n@192.168.1.23/namespace/project.git的形式构造一个克隆URL。>

如果您的Gitlab实例没有任何可用地址,则可以为其设置ssh-tunnel

SSH Tunneling是一种通过加密的SSH连接传输任意网络数据的方法。它可用于向旧版应用程序添加加密。它也可以用于实现VPN(虚拟专用网络)和跨防火墙访问Intranet服务。

ssh -L 8080:gitlab.yourinstance.com:80 gw.yourgateway.com

然后您可以将gw.yourgateway.com:8080用作您的clone_url

以上是关于仅限内部网络的VM上的GitLab Runner的主要内容,如果未能解决你的问题,请参考以下文章

GitLab Runner 在 32 位 Windows 上的问题

Windows 上的 Gitlab Build Runner 使用 HTTP 而不是 SSH

更改 Gitlab CI Runner 用户

通过 SSH 将 gitlab-runner(服务器)连接到虚拟机失败:权限被拒绝(公钥、密码)

Gitlab CI runner 无法暴露嵌套 Docker 容器的端口

Gitlab-runner 更改 builds_dir