在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