java~springboot~gradle裡的docker整合

張佔嶺發表於2018-12-18

在springboot裡,我們的task任務可以新增docker構建的功能,在gradle整合環境裡,直接可以實現編譯,測試,打包映象的流水線作業,很是方便!
下面分享給大家,在gradle裡新增docker映象的構建功能。

新增依賴

apply plugin: `docker`

buildscript {
  repositories {
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
        classpath(`se.transmode.gradle:gradle-docker:1.2`)
    }

  } 
}    

新增Dockerfile

//建立目錄:/src/main/docker/
FROM fabric8/java-jboss-openjdk8-jdk:1.4

ENV JAVA_APP_JAR="app.jar"
ENV JAVA_MAX_MEM_RATIO=100
ENV AB_OFF ""
ADD --chown=jboss:jboss lindone-0.0.1.jar /deployments/app.jar

新增部署指令碼

// 打包映象
task buildDocker(type: Docker, dependsOn: build) {
    push = false
    applicationName = jar.baseName
    dockerfile = file(`src/main/docker/Dockerfile`)
    doFirst {
        copy {
            from jar
            into stageDir
        }
    }
}
// 複製jar檔案
task copyJar(type: Copy) {
    dependsOn `jar`
    from "build/libs/lindone-0.0.1.jar"
    into `build/docker`
}
buildDocker.dependsOn copyJar

相關文章