[spring-projects/spring-boot]更新集成测试中使用的 Kafka 图像标签

2024-05-08 159 views
9

我们使用的是 5.4.3 confluentinc/cp-kafka,它不支持 ARM。从 7.x 开始,开发人员添加了 ARM 支持,请考虑切换到此。

回答

5

您好,我以前从未为开源做出过贡献,但很想开始,并且如果您推荐的话,我很乐意接受。这是否只是更新用于允许arm架构支持某些集成测试的kafka镜像版本?

8

嘿,

感谢您的报价!

有一个方法org.springframework.boot.testsupport.testcontainers.DockerImageNames#kafka返回我们集成测试中使用的 docker 镜像。org.springframework.boot.testsupport.testcontainers.DockerImageNames#KAFKA_VERSION是它用于图像的版本。

这个问题是使用 Kafka 的最新镜像(请使用特定版本而不是latest),然后运行所有集成测试并查看它们是否仍然通过(./gradlew build

如果所有测试都通过,请随意创建返回此存储库的拉取请求。

如果这对您来说没问题,我会将您分配给这个问题,您就可以开始处理它了。如果您需要进一步的帮助,请随时询问!

4

嘿莫里茨,是的,听起来很棒。请将这个问题分配给我,我将审查并解决这个问题。谢谢,如果我需要任何帮助,我会在这里回复,不胜感激:)

6

伟大的!玩得开心!

9

嘿@mhalbritter,我似乎在使用 ./gradlew build 构建项目时遇到问题,因为它每次都会失败。

我进行了 1189 次测试,其中 279 次失败,8 次忽略。

他们都存在以下问题:

“* 出了什么问题:配置根项目“gradle-15620684805334644137”时出现问题。”

我认为这与我设置项目的方式有关,我只是分叉了这个存储库并 git 克隆了它,然后运行了构建命令。我有 docker 在后台运行。

我已经更新了 kafka 镜像版本并运行了单独的 KafkaContainerConnectionDetailsFactoryIntegrationTests,这似乎是成功的。但我应该在提高 PR 之前确保 ./gradew build 成功。

我不确定如何正确构建它,并希望获得一些帮助。

4

嘿@KitBolourchi,您的计算机上需要安装 Java 17,然后./gradlew build就可以工作了。

您可以运行./gradlew build | tee output.txt然后将压缩的output.txt上传到这里,以便我看一下吗?

 What went wrong:
A problem occurred configuring root project 'gradle-15620684805334644137'.

非常不具有描述性:)

谢谢!

3

我想我使用的是java19,我明白了,我会尝试使用17,如果错误仍然存​​在,我会将整个输出文件放在这里(抱歉,你是对的,这没有帮助)

2

不用担心。这里有更多关于如何开始和从源代码构建的文档。

5

这是运行 ./gradlew build 的 output.text 文件。我尝试使用 JDK17 运行,但仍然没有成功。我也确实在后台加载了 docker。我会继续努力解决这个问题。似乎所有 gradle.build 脚本都无法进行集成测试。

输出.txt.zip

7

嘿,谢谢你。看起来针对多个 Maven 和 Gradle 版本执行它的测试不起作用,但我还不知道为什么。

您能否上传spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/build/reports/tests/test包含测试运行输出的压缩文件夹?我希望该文件包含错误的根本原因。

0

早上好@mhalbritter,这是压缩的测试报告文件夹。

昨晚我没能成功构建它。我尝试删除存储库并从源代码的分支/构建中重新克隆,但仍然没有运气。感谢您的帮助。

测试.zip

2

所以,根本原因似乎是这个错误:

> Could not open proj generic class cache for build file '/private/var/folders/6v/dyrttb6d2t5gxvrpm5crprsm0000gn/T/gradle-17968605439802548769/build.gradle' (/private/var/folders/6v/dyrttb6d2t5gxvrpm5crprsm0000gn/T/.gradle-test-kit-kitbolourchi-TEST-SNAPSHOT-7.5.1/caches/7.5.1/scripts/3hylifuc835q8ep49p5mlhzby).
   > BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 63

类文件版本 63是 Java 19

您确定使用 Java 17 运行它吗?java -version能给你什么?它应该这样说:

╰─$ java -version 
openjdk version "17.0.7" 2023-04-18 LTS
OpenJDK Runtime Environment (build 17.0.7+7-LTS)
OpenJDK 64-Bit Server VM (build 17.0.7+7-LTS, mixed mode)

╰─$ ./gradlew --version

------------------------------------------------------------
Gradle 7.6.1
------------------------------------------------------------

Build time:   2023-02-24 13:54:42 UTC
Revision:     3905fe8ac072bbd925c70ddbddddf4463341f4b4

Kotlin:       1.7.10
Groovy:       3.0.13
Ant:          Apache Ant(TM) version 1.10.11 compiled on July 10 2021
JVM:          17.0.7 (BellSoft 17.0.7+7-LTS)
OS:           Linux 6.2.15-200.fc37.aarch64 aarch64
1

啊,你是对的......我的错,我以为我在intellij的属性内改变了它,但不知何故它仍然是jdk19。

我刚刚做到了,它构建成功,因此所有测试都使用我更新的 kafka 版本运行。我将查看文档并为此问题创建拉取请求。

非常感谢 :)

6

结束有利于#35625