我的客户要求我在 Spring Cloud 合同上提出 POC,因为我们将在全球项目中使用这个框架。我也遵循了在线可用的示例和文档。但是,我有几个问题。
如果应用程序托管在 DEV、STAG、PROD 等不同环境中……我们是否需要为所有这三个环境生成存根?
有没有办法使用 gradle 脚本将存根存储到存储库中?这样我就可以将存根从存储库下载到我的本地测试环境并进行测试?
抱歉,我对这个框架很陌生,非常感谢您的回答。如果可能,请为上述提供一些样本。
提前致谢
我的客户要求我在 Spring Cloud 合同上提出 POC,因为我们将在全球项目中使用这个框架。我也遵循了在线可用的示例和文档。但是,我有几个问题。
如果应用程序托管在 DEV、STAG、PROD 等不同环境中……我们是否需要为所有这三个环境生成存根?
有没有办法使用 gradle 脚本将存根存储到存储库中?这样我就可以将存根从存储库下载到我的本地测试环境并进行测试?
抱歉,我对这个框架很陌生,非常感谢您的回答。如果可能,请为上述提供一些样本。
提前致谢
如果应用程序托管在 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 实例,当然,如果您不需要这些功能,您可以删除它们)。