我在用着亚搏体育appGitlab CI/CD https://docs.gitlab.com/ee/ci/README.html构建 Node 服务器的 Docker 镜像。
我想知道是否有办法测试它docker run
图像的质量还可以。
我们很少遇到过 Docker 构建但缺少一些文件/环境变量并且无法启动服务器的情况。
有什么办法可以运行docker
镜像并测试它是否在 CI/CD 管道中正确启动?
Cheers.
使用 Gitlab,您可以使用 docker-runner https://docs.gitlab.com/ee/ci/docker/using_docker_images.html#register-docker-runner.
当您使用 docker-runner,而不是 shell 运行程序时,类似于 docker
图像及其服务必须启动,如果出现以下情况,它应该给出错误
某件事失败了。
Chek 这个文档来自 gitlab https://docs.gitlab.com/ee/ci/docker/using_docker_images.html#register-docker-runner:
这是经典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 执行此操作 https://docs.gitlab.com/ee/ci/docker/using_docker_build.html,你应该调用
docker 镜像启动如下:
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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)