我正在使用 Gitlab CI/CD 来构建 Node 服务器的 Docker 映像。
我想知道是否有办法测试图像docker run
正常。
我们很少遇到过 Docker 构建的情况,但它缺少一些文件/环境变量并且无法启动服务器。
有没有办法运行docker
映像并测试它是否在 CI/CD 管道中正确启动?
干杯。
使用 Gitlab,您可以使用 docker-runner。
当你使用 docker-runner 而不是 shell 运行器时,类似 docker 图像及其服务必须启动,如果 有些东西失败了。
从 gitlab 查看此文档:
这是来自该网络的经典yml
:
default:
image:
name: ruby:2.2
entrypoint: ["/bin/bash"]
services:
- name: my-postgres:9.4
alias: db-postgres
entrypoint: ["/usr/local/bin/db-postgres"]
command: ["start"]
before_script:
- bundle install
test:
script:
- bundle exec rake spec
如您所见,测试部分将在构建映像后执行,因此,您不必担心。Gitlab 应该在加载图像时检测到任何错误
如果你使用 shell gitlab-runner 来做这件事,你应该调用 码头工人镜像是这样开始的:
stages:
- dockerStartup
- build
- test
- deploy
- dockerStop
job 0:
stage: dockerStartup
script:
- docker build -t my-docker-image .
- docker run my-docker-image /script/to/run/tests
[...] //your jobs here
job 5:
stage: dockerStop
script: docker stop whatever