SpringCloud 工作原理

2023-12-10 21:53 更新

该图像在/contracts文件夹下搜索合同。运行测试的输出将在/spring-cloud-contract/build文件夹下可用(对于调试目的很有用)。

您安装合同,传递环境变量就足够了,该映像将:

  • 生成合同测试
  • 针对提供的URL执行测试
  • 生成WireMock存根
  • (可选-默认情况下处于启用状态)将存根发布到Artifact Manager

环境变量

Docker映像需要一些环境变量以指向您正在运行的应用程序,工件管理器实例等。

  • PROJECT_GROUP-您的项目的组ID。默认为com.example
  • PROJECT_VERSION-您项目的版本。默认为0.0.1-SNAPSHOT
  • PROJECT_NAME-工件ID。默认为example
  • REPO_WITH_BINARIES_URL-工件管理器的URL。默认值为http://localhost:8081/artifactory/libs-release-local,这是本地运行Artifactory的默认URL
  • REPO_WITH_BINARIES_USERNAME-伪影管理器受保护时(可选)的用户名
  • REPO_WITH_BINARIES_PASSWORD-安全工件管理器时的密码(可选)
  • PUBLISH_ARTIFACTS-如果设置为true,则会将工件发布到二进制存储。默认为true

当合同位于外部存储库中时,将使用这些环境变量。要启用此功能,必须设置EXTERNAL_CONTRACTS_ARTIFACT_ID环境变量。

  • EXTERNAL_CONTRACTS_GROUP_ID-带有合同的项目的组ID。默认为com.example
  • EXTERNAL_CONTRACTS_ARTIFACT_ID-带有合同的项目的工件ID。
  • EXTERNAL_CONTRACTS_CLASSIFIER-带有合同的项目分类。默认为空
  • EXTERNAL_CONTRACTS_VERSION-带有合同的项目版本。默认值为+,相当于选择最新的
  • EXTERNAL_CONTRACTS_REPO_WITH_BINARIES_URL-工件管理器的URL。默认值为REPO_WITH_BINARIES_URL env var。如果未设置,则默认为http://localhost:8081/artifactory/libs-release-local,这是在本地运行Artifactory的默认URL
  • EXTERNAL_CONTRACTS_PATH-包含合同的项目内给定项目的合同路径。默认为斜线分隔的EXTERNAL_CONTRACTS_GROUP_ID/EXTERNAL_CONTRACTS_ARTIFACT_ID串联在一起。例如,对于组ID foo.bar和工件ID baz,将导致foo/bar/baz合同路径。
  • EXTERNAL_CONTRACTS_WORK_OFFLINE-如果设置为true,则将从容器的.m2中检索带有合同的工件。将本地.m2挂载为容器的/root/.m2路径上可用的卷。您不能同时设置EXTERNAL_CONTRACTS_WORK_OFFLINEEXTERNAL_CONTRACTS_REPO_WITH_BINARIES_URL

执行测试时使用以下环境变量:

  • APPLICATION_BASE_URL-应该对其执行测试的URL。请记住,必须可以从Docker容器访问它(例如localhost将不起作用)
  • APPLICATION_USERNAME-(可选)用于对应用程序进行基本身份验证的用户名
  • APPLICATION_PASSWORD-(可选)用于对应用程序进行基本身份验证的密码
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号