我想我从根本上错过了一些东西.我是CI/CD的新手,并试图用gitlab设置我的第一个管道.
该项目是一个预先存在的PHP项目.
我还不想清理它,此刻我已经将整个东西推入了一个docker容器中,它正好与google cloud的mysql数据库等交谈,因为它应该在本地以及远程google云测试VM .我们的梦想是能够推动开发分支,然后将dev banch合并到测试分支中,然后TRIGGERS自动化测试(简单部分),并且还导致远程测试VM(托管在谷歌云上),推出最新更改,从最新的docker文件重建图像(或从gitlab图像寄存器中提取最新图像)...然后使用最新图像重建容器.
我正在玩gitlab的跑步者,但我不了解它的实际情况,尽管几乎查看了所有的在线内容.我只是将它安装在谷歌云虚拟机中,然后当我从我的开发机器推送到gitlab时...回购将"发出信号"跑步者(在VM上运行,执行一堆脚本(可能包括git拉最新的变化?).
因为我已经将我的应用程序预先打包到本地容器中(并将图像推送到图像注册表)我是否需要使用docker作为我在跑步者身上的执行者?或者我可以使用shell和shell命令吗?
我错过了什么?
TLDR和额外:
问题:
什么是跑步者实际上,它意味着安装在哪里?
是否关心它运行在哪个目录中?
如果它不关心它运行的目录,它在哪里执行它的脚本命令?在根?
如果我在本地构建自己的图像并将其上传到gitlab的注册表,
我需要将执行者设置为docker吗?我不应该只是将它设置为shell,拉动图像,并构建它?(假设跑步者在远程VM上运行).