我有一个Gitlab服务器,来自配置项目和管道的公司。默认情况下,每次提交完成时,管道都会在Gitlab服务器中开始执行。
我有我的个性化虚拟机,它与Gitlab完全不同。我希望管道将在我的个性化虚拟机中执行,而不是在Gitlab服务器中执行。我应该怎么做才能使管道在虚拟机上运行,而不是在Gitlab服务器上运行?
我在位于$MYPROJECT/
的config.toml
中配置了以下运行程序:
[[runners]]
name = "Project-name"
url = "https://gitlab.server/"
token = "TOKEN ID"
executor = "shell"
shell = "bash"
有些事情我不明白。
- 如果我想在我的个性化虚拟机中执行管道,我应该在虚拟机中安装Gitlab runner吗[1]
- 我是否应该在VM中有项目源代码,以便每次提交时都能读取
config.toml
文件 - 如果我在Gitlab服务器中使用令牌密钥注册runner,Gitlab server如何知道管道将在VM中执行,而不是在服务器中执行[2]
- 我应该使用执行器
docker
还是shell
来执行VM中的管道
[1]https://docs.gitlab.com/runner/install/linux-manually.html
[2]https://docs.gitlab.com/runner/register/#registering-转轮
- 要在机器上运行作业,需要在该机器上安装一个与GitLab服务器连接的GitLab Runner
- 项目源代码在每次运行前自动提取
- 您可以在注册跑步者时使用标签(例如"MyVM"(。然后,您可以在作业中设置相同的标记,以便该作业仅由该运行程序执行。请参阅:https://docs.gitlab.com/ee/ci/runners/configure_runners.html#use-标签-控制-车辆作业-跑步者-跑步者
- 如果您想在VM中使用docker(需要在那里之前安装(,则需要使用
docker
。否则使用shell