Python社区  »  docker

如何使用不同的Docker映像来运行每个阶段的脚本?

Borja Tur • 1 周前 • 14 次点击  

从.gitlab-ci.yml开始,如下所示:

image: docker:latest
services:
  - docker:dind

stages:
  - stage1
  - stage2

doStage1:
  stage: stage1
script:
  - docker build -t <container> .
  - docker push <container>
only:
  - master

doStage2:
  stage: stage2
  image: alpine:latest
  script:
    script:
     - cat /etc/os-release
only:
  - master

我本以为Stage2是在Alpine Docker映像上运行的,但事实并非如此,cat命令的输出向我显示:

$ cat /etc/os-release
NAME="Ubuntu"
VERSION="16.04.4 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.4 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial

哪个是Gitlab Runner OS,我在这里有什么误解?来自gitlab的ci文档说,我们可以在每个阶段使用不同的docker图像

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/40270
 
14 次点击  
分享到微博
文章 [ 1 ]  |  最新文章 1 周前
Borja Tur
Reply   •   1 楼
Borja Tur    9 月前

如果有人对这个问题感兴趣的话,我终于知道发生了什么。Gitlab Runner配置为 执行人而不是 码头工人 它无法处理image:property的执行器。

我给另一个跑步者配备了Docker Executor,一切都按预期进行。