Docker映像的测试工具

时间:2019-04-03 08:18:08

标签: docker dockerfile

我的一位同事在我们的一个Dockerfile中删除了mysqli驱动程序以进行PHP托管,这会导致问题。幸运的是,它是在临时环境中发现的。

我们那里是否有用于对docker映像进行单元测试的工具,如果某些必需的驱动程序不可用,则会在CI / CD管道中使它失败?

2 个答案:

答案 0 :(得分:1)

  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
    
    
  2. 使用测试定义* .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"]
    
    
  3. 运行图像测试
    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管道中。

相关问题