Job 脚本在哪里运行?它是否与 Runner 在同一系统上运行?运行程序如何运行脚本,构建保存在哪里?如果有人能解释 Gitlab CI 的整个流程,那就太好了。
问问题
1464 次
1 回答
2
是的,您的作业脚本与运行程序在同一系统上运行。但在我更深入之前,我们需要讨论术语。我的团队之前遇到过问题,因为“跑步者”这个词已经超载了。人类通常使用“跑步者”来表示两种不同的事物:
- gitlab-ci exe 所在的服务器
- 一个 gitlab-ci 运行器
前者应该是不言自明的;当你想创建一个 gitlab-ci 运行器时,你要做的第一件事是配置一个 VM 并将 exe 放在它的某个地方。
后者需要一些解释。gitlab-ci 跑步者不像 Jenkins 奴隶;他们不是整个服务器。相反,gitlab-ci 运行器就像工作区和 Jenkins 标签的组合。换句话说,gitlab-ci 运行器结合了一个服务器、一个 gitlab 实例、一个执行环境和一组标签。在同一台服务器上拥有多个 gitlab-ci 运行器是完全可能的,实际上也是正常的。
作业脚本与任一类型的运行器完全分离(通过“作业脚本”,我假设您的意思是从.gitlab-ci.yml
文件调用的代码)。您从中调用的任何内容.gitlab-ci.yml
,实际上是其中的script
元素,都将被执行
- 通过匹配为运行脚本的作业配置的标签的运行器
- 在安装了该运行器的服务器上
- 在 shell 或 Docker 或 Vagrant 容器中,取决于运行者
最后,构建保存在安装了运行器的位置。该位置将取决于您将 gitlab-ci 可执行文件放入的文件夹。否则,作业会以类似于 Jenkins 工作区的方式存储在文件系统上。
于 2017-03-18T01:13:23.487 回答