Gitlab 运行程序不执行作业 docker 镜像

2023-12-23

我创建了一个最小的 gitlab CI 脚本来验证此错误:

docker_execution_test:
  image: debian:9

  script:
    - pwd
    - ls

我期望的输出是这样的:

db@theia:~/git/docker_test (master*)$ docker run -it --rm debian:9 pwd
/
db@theia:~/git/docker_test (master*)$ docker run -it --rm debian:9 ls
bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
boot  etc  lib   media  opt  root  sbin  sys  usr

但是,通过 gitlab-runner 执行时的输出是这样的:

db@theia:~/git/docker_test (master)$ gitlab-runner exec docker docker_execution_test
Runtime platform                                    arch=amd64 os=darwin pid=49585 revision=3afdaba6 version=11.5.0
WARNING: You most probably have uncommitted changes.
WARNING: These changes will not be tested.
Running with gitlab-runner 11.5.0 (3afdaba6)
Using Docker executor with image debian:9 ...
Pulling docker image debian:9 ...
Using docker image sha256:4879790bd60d439cfe39c063660eef7af525d5f6f1cbb701a14c7cfc11cbfcf7 for debian:9 ...
Running on runner--project-0-concurrent-0 via theia.local...
Cloning repository...
Cloning into '/builds/project-0'...
done.
Checking out bb973ec4 as master...
Skipping Git submodules setup
$ pwd
/builds/project-0
$ ls
README.md
Job succeeded

该作业列出的是在整个构建过程中使用的特殊 gitlab 容器的内容。为什么容器没有创建?我在这里缺少什么?


事实证明,gitlab-runner 正在按预期工作。但令人困惑的是,它对启动的图像进行了一些操作。 入口点被覆盖,并且存储库签出到的文件夹被安装到容器中,并且 WORKDIR 指向它。

因此,虽然可以将您自己的映像作为容器运行,但您必须记住,您可能需要在运行任何命令之前更改文件夹。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Gitlab 运行程序不执行作业 docker 镜像 的相关文章

随机推荐