我在我的项目中使用maven-docker-plugin。此插件将在集成测试期间创建坞容器。既然drone.io将构建过程放入了一个坞容器中,那么在maven构建过程中我是否仍然可以使用maven- docker -plugin呢?如何在建造期间控制码头集装箱?
发布于 2017-01-05 02:40:12
如果希望直接与Docker守护进程交互以创建和启动容器,则需要将主机Docker套接字挂载到构建容器中。
由于您提到了使用docker plugin,您可能需要类似于以下的配置:
pipeline:
build:
image: maven
environment:
- DOCKER_API_VERSION=1.20
- DOCKER_HOST=/var/run/docker.sock
volumes:
- /var/run/docker.sock:/var/run/docker.sock
commands:
- mvn clean package docker:build请注意,将Docker守护进程公开到您的构建环境实际上是让您的构建根访问您的服务器。因此,不建议在公共存储库中使用这种方法。
还请注意,数量有限的安全原因。要使用卷,需要让无人机管理员在存储库设置屏幕中将您的存储库标记为受信任的。
因此,可以从构建环境中启动容器,以便运行测试。然而,推荐的方法是直接在构建环境中运行测试。这是无人机被优化的用例,它消除了上面提到的安全问题。
https://stackoverflow.com/questions/41474059
复制相似问题