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

Run tests using Jenkins in a Docker Container

我看到了一些连接 Jenkins 和 Docker 的资源,但是 none 与我正在尝试做的完全一样,就是让 Jenkins:

  1. 从 GitHub
  2. 中提取最新代码
  3. 启动 Docker 容器并与其共享提取的代码
  4. 运行 在 Docker 容器中测试
  5. 生成测试结果报告

我不知道如何在使用 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 结果。