0

我的客户要求我在 Spring Cloud 合同上提出 POC,因为我们将在全球项目中使用这个框架。我也遵循了在线可用的示例和文档。但是,我有几个问题。

  1. 如果应用程序托管在 DEV、STAG、PROD 等不同环境中……我们是否需要为所有这三个环境生成存根?

  2. 有没有办法使用 gradle 脚本将存根存储到存储库中?这样我就可以将存根从存储库下载到我的本地测试环境并进行测试?

抱歉,我对这个框架很陌生,非常感谢您的回答。如果可能,请为上述提供一些样本。

提前致谢

4

1 回答 1

1

如果应用程序托管在 DEV、STAG、PROD 等不同环境中……我们是否需要为所有这三个环境生成存根?

这取决于您的部署策略,但总的来说,我不这么认为。您可以在 Spring Cloud Pipelines 项目中查看我的基本原理 - http://cloud.spring.io/spring-cloud-pipelines/single/spring-cloud-pipelines.html#_opinionated_implementation。如果您想进行持续交付,您只需为当前构建的版本创建存根。该版本将通过一个部署管道,该管道将通过 stage 和 prod。

有没有办法使用 gradle 脚本将存根存储到存储库中?这样我就可以将存根从存储库下载到我的本地测试环境并进行测试?

您可以使用类路径扫描 - http://cloud.spring.io/spring-cloud-static/Dalston.SR4/multi/multi__spring_cloud_contract_stub_runner.html#_classpath_scanning。这样你就可以设置你的 Gradle 构建,让你在类路径上有存根。如果您指的是下载存根以在单独的进程中运行它,您可以将其与 Stub Runner Boot 结合使用。此处提供示例 - https://github.com/spring-cloud-samples/github-analytics-stub-runner-boot-classpath-stubs/blob/master/pom.xml#L77-L88。这是一个 Maven 构建,但我相信您无论如何都会明白这一点(此示例在 Eureka 中注册存根并将消息发送到真实的 RabbitMQ 实例,当然,如果您不需要这些功能,您可以删除它们)。

于 2017-10-18T19:01:35.820 回答