我的一位同事在我们的一个Dockerfile中删除了mysqli驱动程序以进行PHP托管,这会导致问题。幸运的是,它是在临时环境中发现的。
我们那里是否有用于对docker映像进行单元测试的工具,如果某些必需的驱动程序不可用,则会在CI / CD管道中使它失败?
答案 0 :(得分:1)
从https://github.com/dgroup/docker-unittests/releases下载最新的阴影距离:
wget https://github.com/dgroup/docker-unittests/releases/download/s1.1.1/docker-unittests-app-1.1.1.jar
使用测试定义* .yml文件。
version: 1.1
setup:
- apt-get update
- apt-get install -y tree
tests:
- assume: java version is 1.9, Debian build
cmd: java -version
output:
contains:
- openjdk version "9.0.1"
- build 9.0.1+11-Debian
- assume: curl version is 7.xxx
cmd: curl --version
output:
startsWith: curl 7.
matches:
- "^curl\\s7.*\\n.*\\nProtocols.+ftps.+https.+telnet.*\\n.*\\n$"
contains:
- AsynchDNS IDN IPv6 Largefile GSS-API
- assume: Setup section installed `tree`
cmd: tree --version
output:
contains: ["Steve Baker", "Florian Sesser"]
java -jar docker-unittests.jar -f image-tests.yml -i openjdk:9.0.1-11
https://i.stack.imgur.com/DSv72.png 您可以在https://github.com/dgroup/docker-unittests中找到更多信息。
随时提交新问题/问题/等。
答案 1 :(得分:0)
您是否了解Google用于测试容器图像的工具-container-structure-test?
此实用程序可以作为工件检查步骤轻松集成到CI / CD管道中。