Gitlab CI-构建图像并进入下一阶段?

时间:2019-07-16 12:55:24

标签: docker gitlab gitlab-ci

我正在尝试使用Gitlab CI和PHP / Symfony项目设置管道。我的.gitlab-ci.yml文件应包含3个阶段:

  • 构建-构建映像,设置数据库,安装作曲家等
  • 测试
    • 单元测试
    • 其他测试(代码质量,安全检查)

目前,它可以正常运行,但是只能通过在每个测试中同时运行构建步骤-这意味着我将相同的构建步骤重复两次,并且所需时间更长。

我注意到,Gitlab允许您构建Docker映像并将其存储在项目中,但是目前,是否存在一种机制来构建Docker映像,将其存储(作为工件?)并将其传递到测试阶段,所以他们不需要重复构建?

1 个答案:

答案 0 :(得分:0)

尽管确实建议使用注册表来存储图像,但还是可以解决您的问题:

build阶段,将图像另存为文件:

docker save -o myimage.tar myimage:build123

myimage.tar定义为工件,在后续阶段作业中使用depends_on并在其中加载图像:

docker load -i myimage.tar