在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