logo
0
0
Login
Forkfromexamples/ecosystem/springboot-gradle-docker, ahead:main9 commits, behind:main7 commits

springboot+gradle+docker

badge badge badge

在当前的这个示例中:

  • 通过云原生构建实现,打包 springboot+gradle 项目, 构建 Docker 镜像并发布到制品库
  • 并配置 build.gradle 和 gradle-wrapper.properties 使用腾讯云的 Maven Mirror 和 Gradle Wrapper Mirror 进行加速。

前提条件

  1. 使用 云原生构建(CNB) 构建项目
  2. 编写 Dockerfile 文件
  3. 声明式的 构建缓存
  4. 了解 环境变量 及其用法
  5. 了解如何使用 Docker 制品库
  6. 配置 .ide/Dockerfile,使用 云原生开发

快速开始

启动服务

  1. 命令行运行
# 控制台输入命令 $ ./gradlew bootRun
  1. Debug 模式运行
  • 点击 VS Code 左侧的活动栏中的 "运行和调试" 图标,从运行和调试下拉列表中选择 "Launch file",然后点击绿色的运行按钮(或直接按 F5)。 查看如何配置

单元测试

项目已集成JUnit 5和Mockito测试框架,并使用Jacoco进行代码覆盖率分析。

运行单元测试

运行所有测试:

# 运行所有单元测试 $ ./gradlew test

查看测试报告:

# 测试报告位置 $ open build/reports/tests/test/index.html

代码覆盖率报告

项目使用Jacoco插件生成代码覆盖率报告:

# 生成代码覆盖率报告 $ ./gradlew jacocoTestReport # 查看覆盖率报告 $ open build/reports/jacoco/index.html

代码质量检查

运行综合质量检查(包括测试、覆盖率和代码风格):

# 运行所有代码质量检查 $ ./gradlew codeQualityCheck

代码质量检查

项目已整合 Checkstyle 来确保代码质量和一致性。Checkstyle 是一个可以帮助 Java 程序员遵守编码标准的开发工具。

运行 Checkstyle 检查

您可以使用以下命令运行 Checkstyle 检查:

# 运行 Checkstyle 检查 $ ./gradlew checkstyleMain # 生成 Checkstyle HTML 报告 $ ./gradlew checkstyleReport

生成的 HTML 报告位于 build/reports/checkstyle/main.html

自定义 Checkstyle 规则

Checkstyle 配置文件位于 config/checkstyle/checkstyle.xml,默认使用基于 Google Java 代码规范的配置。您可以根据项目需求修改此文件来自定义检查规则。

主要检查规则包括:

  • 代码格式和缩进
  • 变量、方法、类命名规范
  • 空白符和换行规则
  • 注释和 Javadoc 要求
  • 导入语句规范
  • 代码结构和设计
  • 常见问题: Gradle 进行构建 JAVA 工程时它会根据项目根目录下的 gradle/wrapper/gradle-wrapper.properties 中的如 distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip 下载 Gradle Wrapper 而下载慢。
  • 加速方案: 将 gradle/wrapper/gradle-wrapper.properties 中的 distributionUrl 改为 distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-7.6-bin.zip 参考: Gradle 下载地址

单项目构建修改项目根目录下的 build.gradle 文件

repositories { mavenLocal() maven { url "https://mirrors.cloud.tencent.com/nexus/repository/maven-public/" } mavenCentral() }

多项目构建修改项目根目录下的 build.gradle 文件

allprojects { repositories { mavenLocal() maven { url "https://mirrors.cloud.tencent.com/nexus/repository/maven-public/" } mavenCentral() } }

About

gradle 构建 docker 镜像发布到制品库

6.59 MiB
0 forks0 stars3 branches0 TagREADMEOther license
Language
Java25.7%
Gradle22.1%
Shell17.6%
Markdown10.3%
Others24.3%