[O]Flink版本适配改造(一)
# 背景介绍:为何需要调整 Surefire 插件配置?
在使用 Bigtop 编译 Flink 时,默认构建过程中会触发大量单元测试与集成测试(尤其是 flink-end-to-end-tests 模块),这些测试过程:
- 构建时间长;
- 存在对运行环境的依赖;
- 并且在早期版本迁移过程中,部分测试可能本身就存在失败。
因此我们在构建初期,统一通过配置 maven-surefire-plugin 实现跳过测试,提高构建效率,避免阻塞后续包体编译环节。
提示
本文作为 Flink 编译体系适配的第一篇,将聚焦 适配改造 插件版本指定与跳过测试策略,后续将继续覆盖 tarball、依赖源地址与启动脚本目录调整等。
# 修改内容详解
- 插件版本统一至
3.0.0-M5 - 添加
<skipTests>true</skipTests>全局跳过测试
以下为典型的插件配置片段,可嵌入到 <plugins> 节点中:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M5</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
<executions>
<execution>
<id>integration-tests</id>
<configuration>
<forkCount>1</forkCount>
<workingDirectory>../</workingDirectory>
</configuration>
</execution>
</executions>
</plugin>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 涉及文件路径列表
由于 Flink 模块拆分精细,插件适配修改需覆盖多个模块的 pom.xml 文件,以下列出所有受影响的模块:
以下是将你提供的 Flink 模块中所有 pom.xml 路径整理成的结构化表格,便于在文档中插入并清晰呈现:
| 序号 | 文件路径 |
|---|---|
| 1 | pom.xml |
| 2 | flink-yarn-tests/pom.xml |
| 3 | flink-tests/pom.xml |
| 4 | flink-table/flink-table-planner-loader/pom.xml |
| 5 | flink-table/flink-table-planner/pom.xml |
| 6 | flink-table/flink-sql-parser-hive/pom.xml |
| 7 | flink-table/flink-sql-parser/pom.xml |
| 8 | flink-streaming-java/pom.xml |
| 9 | flink-scala/pom.xml |
| 10 | flink-runtime/pom.xml |
| 11 | flink-python/pom.xml |
| 12 | flink-kubernetes/pom.xml |
| 13 | flink-fs-tests/pom.xml |
| 14 | flink-end-to-end-tests/pom.xml |
| 15 | flink-end-to-end-tests/flink-streaming-kinesis/pom.xml |
| 16 | flink-end-to-end-tests/flink-glue-schema-registry-json-test/pom.xml |
| 17 | flink-end-to-end-tests/flink-glue-schema-registry-avro-test/pom.xml |
| 18 | flink-end-to-end-tests/flink-end-to-end-tests-pulsar/pom.xml |
| 19 | flink-end-to-end-tests/flink-end-to-end-tests-common/pom.xml |
| 20 | flink-end-to-end-tests/flink-end-to-end-tests-aws-kinesis-streams/pom.xml |
| 21 | flink-end-to-end-tests/flink-end-to-end-tests-aws-kinesis-firehose/pom.xml |
| 22 | flink-docs/pom.xml |
| 23 | flink-dist/pom.xml |
| 24 | flink-connectors/flink-hadoop-compatibility/pom.xml |
| 25 | flink-connectors/flink-connector-pulsar/pom.xml |
| 26 | flink-connectors/flink-connector-nifi/pom.xml |
| 27 | flink-connectors/flink-connector-kinesis/pom.xml |
| 28 | flink-connectors/flink-connector-kafka/pom.xml |
| 29 | flink-connectors/flink-connector-jdbc/pom.xml |
| 30 | flink-connectors/flink-connector-hive/pom.xml |
| 31 | flink-connectors/flink-connector-hbase-base/pom.xml |
| 32 | flink-connectors/flink-connector-hbase-2.2/pom.xml |
| 33 | flink-connectors/flink-connector-hbase-1.4/pom.xml |
| 34 | flink-connectors/flink-connector-elasticsearch7/pom.xml |
| 35 | flink-connectors/flink-connector-elasticsearch6/pom.xml |
| 36 | flink-connectors/flink-connector-cassandra/pom.xml |
提示
以下是需手动补充 maven-surefire-plugin 插件配置的所有模块路径整理,建议使用批量脚本处理或 IntelliJ 全局替换功能实现:
# 下图是需要改的文件


- 01
- Ambari开启Kerberos认证加密类型错误 Kylin V1011-05
- 02
- KERBEROS SERVICE CHECK 报错11-04