【问题标题】:where does job script run in gitlab ci?作业脚本在 gitlab ci 中运行在哪里?
【发布时间】:2015-04-28 10:59:47
【问题描述】:

作业脚本在哪里运行?它是否与 Runner 在同一系统上运行? 运行程序如何运行脚本,构建保存在哪里? 如果有人能解释一下 Gitlab CI 的整个流程,那就太好了。

【问题讨论】:

    标签: gitlab gitlab-ci gitlab-ci-runner


    【解决方案1】:

    是的,您的作业脚本与运行程序在同一系统上运行。但在我更深入之前,我们需要讨论术语。我的团队之前遇到过问题,因为“跑步者”这个词已经超载了。人类通常使用“跑步者”来表示两种不同的意思:

    • 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 工作区的方式存储在文件系统中。

    【讨论】:

      猜你喜欢
      • 2021-03-08
      • 1970-01-01
      • 2019-09-28
      • 2014-08-09
      • 2017-01-20
      • 2021-05-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多