我构建了一个仅包含测试的 Maven 项目。这些测试测试在我机器上的容器中运行的 REST 服务。测试在我的机器上使用 mvn test 成功运行。
现在我想使用 Wercker 为我的测试项目构建一个容器。换句话说:我想要一个容器来测试在另一个容器中运行的服务。像mvn test这样的简单构建步骤失败,因为 Wercker 在其他地方运行并且无法访问我机器上的 REST 服务。
是否有可能制作这样一个仅在本地运行测试而不是在 Wercker 制造容器的地方运行测试的容器?
我构建了一个仅包含测试的 Maven 项目。这些测试测试在我机器上的容器中运行的 REST 服务。测试在我的机器上使用 mvn test 成功运行。
现在我想使用 Wercker 为我的测试项目构建一个容器。换句话说:我想要一个容器来测试在另一个容器中运行的服务。像mvn test这样的简单构建步骤失败,因为 Wercker 在其他地方运行并且无法访问我机器上的 REST 服务。
是否有可能制作这样一个仅在本地运行测试而不是在 Wercker 制造容器的地方运行测试的容器?
您可以使用“服务”在管道中运行其他容器。例如,假设您已经构建了一个名为“rest-server:latest”的容器,其中包含您要在其中测试的 REST 服务器。您可以启动该容器,然后在您的管道中将其用作“rest-server”,以便您可以使用该地址运行测试。
因此,在您的管道中,您可以执行以下操作:
test:
services:
- name: rest-server
id: edh/rest-server
cmd: java -jar /path/to/my-code.jar
steps:
- java/maven:
goals: verify
maven_opts: -DrestEndpoint=http://rest-server:9000
这里有一些关于链接服务的更多细节:http: //devcenter.wercker.com/docs/services/linking-services