Spring Cloud Gradle多模块打包

以前整理,,每一个人环境不一样仅供参考java

1.修改父项目的setting.gradle

以下mysql

include 'tools-common:tools-common-base'
findProject(':tools-common:tools-common-base')?.name = 'tools-common-base'
include 'tools-common:tools-common-core'
findProject(':tools-common:tools-common-core')?.name = 'tools-common-core'
include 'tools-common:tools-common-jpa'
findProject(':tools-common:tools-common-jpa')?.name = 'tools-common-jpa'
复制代码

2.修改父项目build.gradle

增长spring

plugins {
    id 'java'
    id 'org.springframework.boot' version '2.1.3.RELEASE'
    id 'com.bmuschko.docker-spring-boot-application' version '4.6.2'
}

apply plugin: 'com.bmuschko.docker-spring-boot-application'

//排除父项目打包docker
    if (project.subprojects) {
        jar.enabled = false
        bootJar {
            enabled = false
        }
        dockerCreateDockerfile {
            enabled = false
        }
        dockerBuildImage {
            enabled = false
        }
    }

复制代码

3.在公共类模块的build.gradle中增长

subprojects {
    apply plugin: 'java-library'

    dockerCreateDockerfile {
        enabled = false
    }
    dockerBuildImage {
        enabled = false
    }
}
复制代码

4.公共module下子module下修改build.gradle

dependencies {
    implementation 'mysql:mysql-connector-java:8.0.15'
    implementation "org.springframework.boot:spring-boot-starter-data-jpa:${springBootVersion}"
    implementation project(":${toolsCommon}:${toolsCommonJpa}")
}

docker {
    springBootApplication {
        baseImage = 'openjdk:8-alpine'
        //指定外端口映射到docker内端口
        ports = [8769, 8769]
    }
}

dockerSyncBuildContext {
    doFirst {
        copy {
            from("../${toolsCommon}/${toolsCommonJpa}/build/classes/java/main/store/zabbix/common")
            into('./build/classes/java/main/store/zabbix/common')
        }
    }
}
复制代码

5.打包docker

  • 5.1 执行 gradle clean
  • 5.2 执行 gradle dockerSyncBuildContext
  • 5.3 执行 gradle dockerBuildImage
相关文章
相关标签/搜索