Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Docker容器中使用Jenkins运行测试_Jenkins_Docker_Jenkins Docker - Fatal编程技术网

在Docker容器中使用Jenkins运行测试

在Docker容器中使用Jenkins运行测试,jenkins,docker,jenkins-docker,Jenkins,Docker,Jenkins Docker,我已经看到了一些连接Jenkins和Docker的资源,但没有一个完全像我尝试做的,那就是让Jenkins: 从GitHub获取最新代码 启动Docker容器并与其共享拉取的代码 在Docker容器中运行测试 生成测试结果报告 在使用Jenkins时,我不知道如何将代码从GitHub导入Docker容器。我有一个用于本地测试的容器,但我正试图用Jenkins自动化这个过程。谁能给我指出正确的方向吗?我们就是这么做的。我们使用常规的Jenkins Git插件获取源代码的副本。然后我们运行docke

我已经看到了一些连接Jenkins和Docker的资源,但没有一个完全像我尝试做的,那就是让Jenkins:

  • 从GitHub获取最新代码
  • 启动Docker容器并与其共享拉取的代码
  • 在Docker容器中运行测试
  • 生成测试结果报告

  • 在使用Jenkins时,我不知道如何将代码从GitHub导入Docker容器。我有一个用于本地测试的容器,但我正试图用Jenkins自动化这个过程。谁能给我指出正确的方向吗?

    我们就是这么做的。我们使用常规的Jenkins Git插件获取源代码的副本。然后我们运行docker容器来运行测试

    # docker-compose.yml
    web:
      build: .
      volumes:
        - .:/src
      command: /src/run-tests.sh
    
    docker-compose run web
    

    装载一个卷,以便Jenkins可以访问测试的任何输出,例如junit xml结果。

    我的图像有点重;你每次都要构建它吗?docker有一个构建缓存,所以只有当某些内容发生更改时才会重新构建它。(我不会将我的源代码添加到我们为测试构建的映像中……带有源代码的映像继承自我在这里使用的基本映像)。如果您希望在其他地方构建它,这是非常好的,但这是确保使用此版本源代码附带的最新映像的最简单方法。