gitlab ci如何在内部与gitlab runner协同工作



我有一些关于gitlab-cirunner:的具体问题

  1. 如果在kubernetes集群中配置了我的特定运行程序,那么代码镜像如何从Gitlab代码库镜像到运行程序中

  2. 当在kubernetes集群中进行配置时,runner中的构建是如何进行的?

  3. 当在我的.gitlab-ci.yml中使用任何docker映像时,runner如何提取这些映像,以及"script"标记中提到的命令如何在这些docker容器中执行?runner是否使用.gitlab-ci.yml中提到的映像在kubernetes集群(其中配置了runner(中创建pod,并在这些容器中执行命令?

  4. 任何关于Gitlab runner如何在内部工作的额外解释或参考学习材料都将不胜感激。

我假设当你说你的GitLab Runner是在Kubernetes中配置的,你的意思是你在使用Kubernete执行器。我标记了与你的问题相关的部分。

(1(GitLab CI从存储库中提取代码(如果是公共的,这不是问题,但您也可以使用专用注册表(。基本上,助手映像用于克隆存储库并将任何工件下载到容器中。

通过调用Kubernetes集群API并创建一个新的Pod,每个作业都有构建和服务容器,Kubernetesexecutor允许您使用现有的Kubernete集群来执行管道/构建步骤(3(

Runner所采取步骤的更详细视图:

  • 准备:针对Kubernetes集群创建Pod。这将创建运行构建和服务所需的容器
  • 预构建:克隆、恢复缓存和下载以前阶段的工件。这是作为Pod的一部分在一个特殊容器上运行的(2(
  • 内部版本:用户内部版本
  • 后期构建:创建缓存,将工件上传到GitLab。这也使用特殊容器作为Pod的一部分

对于跑步者来说,GitLab存储库可能也很有趣。

最新更新