【问题标题】:Running Integration tests from a Docker image for Java project从 Java 项目的 Docker 映像运行集成测试
【发布时间】:2017-02-08 17:29:19
【问题描述】:

我是 Docker 新手,目前正在开发一个使用 docker 进行构建和部署的项目。我已经在我的 Windows 10 机器上安装了 Docker for windows,目前在 windows 环境中运行 docker。

我正在使用 Jenkins 为一个项目创建 docker 镜像,该项目内部编码了集成测试。

我需要在 Jenkins 中创建新作业,它将从以前的作业中获取 docker 映像,并在此映像上而不是在代码库上运行集成测试。我不确定我们是否可以为 Windows 做到这一点。我在网上搜索过,但没有找到任何解释如何实现这一点的文章或教程。

谁能帮我解决这个问题或指导我找到我可以参考的解决方案。

谢谢

维京

【问题讨论】:

  • 假设 gradle,运行测试不会像 docker run your-image:version ./gradlew integrationTests 那样简单?

标签: java jenkins docker docker-compose


【解决方案1】:

你的问题是几个月前的问题,但仍然:)

你可以看看 Fabric8 Docker Maven 插件https://dmp.fabric8.io/ 它与 Maven 工作流程很好地集成:您描述了如何构建图像(使用 DockerFile 或直接在 pom 中),以及如何运行它(以“docker run”方式或使用 docker-compose.yaml )。当然,支持 Windows,因为它是您的用例 :)

然后,插件的各个阶段集成良好,映像的构建在“打包”阶段进行,容器在“集成前”启动,在“集成后”停止和删除。

要记住的一件小事是,如果您有一个多模块项目,则集成测试是按模块运行的,因此如果您有多个集成在一起的图像,请确保在同一个 pom 中定义它们。

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2020-05-16
    • 2018-01-21
    • 1970-01-01
    • 2020-04-30
    • 1970-01-01
    • 2015-09-05
    • 2011-07-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多