Jenkins:当在Docker容器中进行Maven构建时,如何使用JUnit插件

洛根·菲利普斯(Logan Phillips)

我试图创建一个管道,詹金斯将在该管道上构建我的Docker映像,运行测试,然后在测试通过的情况下部署容器。问题是我在docker容器中运行了maven,直到运行容器,我才能真正访问已发布的测试。我希望在测试通过后运行并部署Docker容器。这似乎很简单,但是我想不出一个好方法。我误会了吗?谢谢。

Dockerfile:

FROM openjdk:10 as step-one

COPY ./ /var/www/java/
WORKDIR /var/www/java

RUN apt-get update -y && apt-get install -y maven 

RUN mvn clean package -X

ENTRYPOINT ["java"]
CMD ["-jar",  "target/gs-serving-web-content-0.1.0.jar"]

EXPOSE 8080

Jenkinsfile:


pipeline {

    agent any

        stages {
            stage('Build') {
                steps {
                    echo 'Building..'
                    sh 'docker build -t spring-image .'

                }
            }
            stage('Test') {
                steps {
                    echo 'Testing..'
                    junit '/var/www/java/target/surefire-reports/TEST-ma.SpringTest.xml'                 
                }
            }


            stage('Deploy') {
                steps {
                    echo 'Deploying....'
                        sh 'docker run -i -d --name spring-container spring-image'
                }
            }
        }
}


贡萨洛·马修(Gonzalo Matheu)

您可以在junit提取测试结果文件之前创建一个临时容器,以将测试结果复制到您的工厂。最后将其删除

sh 'docker create --name temporary-container spring-image'
sh 'docker cp temporary-container:/var/www/java/target/surefire-reports .'
sh 'docker rm temporary-container'
junit 'surefire-reports'

您还可以查看docker-pipeline文档,该文档为您提供了一些构建docker映像的抽象方法

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Maven停止在Docker容器中进行下载

来自分类Dev

Docker Maven插件:运行容器时如何指定shm大小

来自分类Dev

Docker Maven插件:运行容器时如何指定shm大小

来自分类Dev

使用程序集插件进行Maven构建时出错

来自分类Dev

使用buildkit进行构建时如何附加到中间docker容器

来自分类Dev

使用Lambda时,Maven插件构建失败

来自分类Dev

解决使用Maven在IntelliJ中进行构建时的PermGen错误吗?

来自分类Dev

解决使用Maven在IntelliJ中进行构建时的PermGen错误吗?

来自分类Dev

在VScode中进行调试时,如何在Docker容器中找到源代码文件夹

来自分类Dev

如何在构建时链接Docker容器?

来自分类Dev

在Maven中进行错误构建

来自分类Dev

使用Maven进行构建时,缺少必需的Eclipse插件中的类

来自分类Dev

如何使用Maven构建Gradle插件

来自分类Dev

在构建Docker容器时,Jenkins在Kubernetes上的问题

来自分类Dev

如何使用自定义变量运行 docker 容器(使用 Jenkins 构建)

来自分类Dev

在Jenkins上构建Spring Boot Docker映像时如何缓存Maven回购

来自分类Dev

在Docker容器中使用Jenkins构建ASP.NET 5

来自分类Dev

使用插件/扩展进行定制构建的Maven最佳实践?

来自分类Dev

构建Jenkins插件时如何获取编译器警告

来自分类Dev

在构建时使用 Spring Boot Maven 插件排除 Java 源

来自分类Dev

如何使用 Jenkins 管道构建 docker 镜像?

来自分类Dev

Jenkins使用Differents Maven存储库进行构建

来自分类Dev

如何使用管道插件在特定节点上触发jenkins构建?

来自分类Dev

IntelliJ Idea Maven插件在配置为1.8(Mac)时尝试在Java 1.7中进行编译

来自分类Dev

Jenkins Maven构建未运行JUnit测试

来自分类Dev

如何在映像构建时/之后自动运行docker容器?

来自分类Dev

如何使用Maven构建Docker镜像?

来自分类Dev

当Maven单元测试失败时,如何使Jenkins构建失败?

来自分类Dev

如何使用自定义Maven插件防止构建失败?

Related 相关文章

  1. 1

    Maven停止在Docker容器中进行下载

  2. 2

    Docker Maven插件:运行容器时如何指定shm大小

  3. 3

    Docker Maven插件:运行容器时如何指定shm大小

  4. 4

    使用程序集插件进行Maven构建时出错

  5. 5

    使用buildkit进行构建时如何附加到中间docker容器

  6. 6

    使用Lambda时,Maven插件构建失败

  7. 7

    解决使用Maven在IntelliJ中进行构建时的PermGen错误吗?

  8. 8

    解决使用Maven在IntelliJ中进行构建时的PermGen错误吗?

  9. 9

    在VScode中进行调试时,如何在Docker容器中找到源代码文件夹

  10. 10

    如何在构建时链接Docker容器?

  11. 11

    在Maven中进行错误构建

  12. 12

    使用Maven进行构建时,缺少必需的Eclipse插件中的类

  13. 13

    如何使用Maven构建Gradle插件

  14. 14

    在构建Docker容器时,Jenkins在Kubernetes上的问题

  15. 15

    如何使用自定义变量运行 docker 容器(使用 Jenkins 构建)

  16. 16

    在Jenkins上构建Spring Boot Docker映像时如何缓存Maven回购

  17. 17

    在Docker容器中使用Jenkins构建ASP.NET 5

  18. 18

    使用插件/扩展进行定制构建的Maven最佳实践?

  19. 19

    构建Jenkins插件时如何获取编译器警告

  20. 20

    在构建时使用 Spring Boot Maven 插件排除 Java 源

  21. 21

    如何使用 Jenkins 管道构建 docker 镜像?

  22. 22

    Jenkins使用Differents Maven存储库进行构建

  23. 23

    如何使用管道插件在特定节点上触发jenkins构建?

  24. 24

    IntelliJ Idea Maven插件在配置为1.8(Mac)时尝试在Java 1.7中进行编译

  25. 25

    Jenkins Maven构建未运行JUnit测试

  26. 26

    如何在映像构建时/之后自动运行docker容器?

  27. 27

    如何使用Maven构建Docker镜像?

  28. 28

    当Maven单元测试失败时,如何使Jenkins构建失败?

  29. 29

    如何使用自定义Maven插件防止构建失败?

热门标签

归档