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的默认URLREPO_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的默认URLEXTERNAL_CONTRACTS_PATH
-包含合同的项目内给定项目的合同路径。默认为斜线分隔的EXTERNAL_CONTRACTS_GROUP_ID
与/
和EXTERNAL_CONTRACTS_ARTIFACT_ID
串联在一起。例如,对于组IDfoo.bar
和工件IDbaz
,将导致foo/bar/baz
合同路径。EXTERNAL_CONTRACTS_WORK_OFFLINE
-如果设置为true
,则将从容器的.m2
中检索带有合同的工件。将本地.m2
挂载为容器的/root/.m2
路径上可用的卷。您不能同时设置EXTERNAL_CONTRACTS_WORK_OFFLINE
和EXTERNAL_CONTRACTS_REPO_WITH_BINARIES_URL
。
执行测试时使用以下环境变量:
APPLICATION_BASE_URL
-应该对其执行测试的URL。请记住,必须可以从Docker容器访问它(例如localhost
将不起作用)APPLICATION_USERNAME
-(可选)用于对应用程序进行基本身份验证的用户名APPLICATION_PASSWORD
-(可选)用于对应用程序进行基本身份验证的密码
以上内容是否对您有帮助:
更多建议: