# springboot+gradle+docker ![badge](https://cnb.cool/examples/ecosystem/springboot-gradle-docker/-/badge/git/latest/ci/pipeline-as-code) ![badge](https://cnb.cool/examples/ecosystem/springboot-gradle-docker/-/badge/git/latest/ci/git-clone-yyds) ![badge](https://cnb.cool/examples/ecosystem/springboot-gradle-docker/-/badge/git/latest/ci/status/push) 在当前的这个示例中: * 通过云原生构建实现,打包 springboot+gradle 项目, 构建 Docker 镜像并发布到制品库 * 并配置 build.gradle 和 gradle-wrapper.properties 使用腾讯云的 Maven Mirror 和 Gradle Wrapper Mirror 进行加速。 # 前提条件 1. 使用 [云原生构建(CNB)](https://cnb.cool) 构建项目 2. 编写 Dockerfile 文件 3. 声明式的 [构建缓存](https://docs.cnb.cool/zh/grammar/pipeline.html#volumes) 4. 了解 [环境变量](https://docs.cnb.cool/zh/env.html) 及其用法 5. 了解如何使用 [Docker 制品库](https://docs.cnb.cool/zh/artifact/docker.html) 6. 配置 .ide/Dockerfile,使用 [云原生开发](https://docs.cnb.cool/zh/vscode/quick-start.html) # [Gradle Wrapper 加速](#gradle) * 常见问题: 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 下载地址](https://mirrors.cloud.tencent.com/gradle/)。 # [Maven Mirror](#maven-mirror) ## 单项目构建修改项目根目录下的 `build.gradle` 文件 ```groovy repositories { mavenLocal() maven { url "https://mirrors.cloud.tencent.com/nexus/repository/maven-public/" } mavenCentral() } ``` ## 多项目构建修改项目根目录下的 `build.gradle` 文件 ```groovy allprojects { repositories { mavenLocal() maven { url "https://mirrors.cloud.tencent.com/nexus/repository/maven-public/" } mavenCentral() } } ``` ## [其他优化项](#others) * 当您的 JAVA 工程比较大时可以配置一下 Gradle 使用的 JVM 内存大小,让构建更加高效,请参考 https://docs.gradle.org/current/userguide/build_environment.html#sec:configuring_jvm_memory * 调整 `gradle.properties` 中的 `org.gradle.jvmargs` 将 Xmx 和 Xms 调整到一个合适的值。