首页 文章

什么是gitlab跑步者

提问于
浏览
7

我想我从根本上错过了一些东西 . 我是CI / CD的新手,并试图用gitlab设置我的第一个管道 .

该项目是一个预先存在的PHP项目 .

我还不想清理它,此刻我已经将整个东西推入了一个docker容器中,它正好与google cloud的mysql数据库等交谈,因为它应该在本地以及远程google Cloud 测试VM . 我们的梦想是能够推动开发分支,然后将dev banch合并到测试分支中,然后TRIGGERS自动化测试(简单部分),并且还导致远程测试VM(托管在谷歌 Cloud 上),推出最新更改,从最新的docker文件重建图像(或从gitlab图像寄存器中提取最新图像)...然后使用最新图像重建容器 .

我正在玩gitlab的跑步者,但我不了解它的实际情况,尽管几乎查看了所有的在线内容 . 我只是将它安装在谷歌 Cloud 虚拟机中,然后当我从我的开发机器推送到gitlab时...回购将“发出信号”跑步者(在VM上运行,执行一堆脚本(可能包括git拉最新的变化?) .

因为我已经将我的应用程序预先打包到本地容器中(并将图像推送到图像注册表)我是否需要使用docker作为我在跑步者身上的执行者?或者我可以使用shell和shell命令吗?

我错过了什么?

TLDR和额外:

问题:

  • 什么是赛跑者实际上是什么,它意味着要安装在哪里?
    是否关心它运行在哪个目录中?
    如果它没有运行,它在哪里执行它的脚本命令?在根?

  • 如果我在本地构建自己的图像并将其上传到gitlab的注册表,

我需要将执行者设置为docker吗?我不应该只是将它设置为shell,拉动图像,并构建它? (假设跑步者在远程VM上运行) .

1 回答

  • 7

    赛跑运动员究竟是什么?

    您的项目以及 .gitlab-ci.yml 文件 . .gitlab-ci.yml 定义了CI / CD管道的哪些阶段以及每个阶段的操作 . 这通常包括构建,测试和部署阶段 . 在每个阶段中,您可以定义多个作业 . 例如,在构建阶段,您可能需要在debian,centos和windows上构建3个作业(在GitLab词汇表 build:debianbuild:centosbuild:windows 中) . GitLab运行器克隆项目读取gitlab-ci.yaml文件并执行他指示要执行的操作 . 所以基本上GitLab runner是一个执行一些指令任务的 Golang 进程 .

    它意味着要安装在哪里?

    您可以在此处列出的所需环境中安装跑步者 . https://docs.gitlab.com/runner/install/或者您可以使用已安装在GitLab基础架构上的共享运行器 .

    它关心它运行在哪个目录中?

    是 . 跑步者执行的每个任务都与https://gitlab.com/help/ci/variables/README中定义的 CI_PROJECT_DIR 相对应 . 但是你可以改变这种行为 .

    它在哪里执行它的脚本命令?在根?我需要将执行者设置为docker吗?我不应该只是将它设置为shell,拉动图像,并构建它?

    跑步者可以有多个 Actuator ,如docker,shell,virtualbox等,但docker是最常见的 . 如果您使用docker作为执行程序,您可以从docker hub或配置的注册表中提取任何图像,并且可以使用docker镜像执行大量的stff . 在docker环境中,通常以root用户身份运行它们 . https://docs.gitlab.com/runner/executors/README.html

相关问题