0

我构建了一个仅包含测试的 Maven 项目。这些测试测试在我机器上的容器中运行的 REST 服务。测试在我的机器上使用 mvn test 成功运行。

现在我想使用 Wercker 为我的测试项目构建一个容器。换句话说:我想要一个容器来测试在另一个容器中运行的服务。像mvn test这样的简单构建步骤失败,因为 Wercker 在其他地方运行并且无法访问我机器上的 REST 服务。

是否有可能制作这样一个仅在本地运行测试而不是在 Wercker 制造容器的地方运行测试的容器?

4

1 回答 1

1

您可以使用“服务”在管道中运行其他容器。例如,假设您已经构建了一个名为“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

于 2018-02-23T20:12:39.960 回答