1+ task copySrc (type : Copy ) {
2+ group = " docker"
3+ from " src"
4+ into " build/docker/app/src"
5+ }
6+
7+ task copyWrapperFiles (type : Copy ) {
8+ group = " docker"
9+ from " gradlew"
10+ from " settings.gradle"
11+ from " build.gradle"
12+ into " build/docker/app"
13+ }
14+
15+ task copyWrapper (type : Copy ){
16+ group = " docker"
17+ from " gradle/wrapper/gradle-wrapper.jar"
18+ from " gradle/wrapper/gradle-wrapper.properties"
19+ into " build/docker/app/gradle/wrapper"
20+ }
21+
22+ copyWrapper. dependsOn copyWrapperFiles
23+
24+ task copyDockerFile (type : Copy ) {
25+ group = " docker"
26+ from " docker"
27+ into " build/docker"
28+ }
29+
30+ def dockerFile = project. projectDir. getAbsolutePath() + " /build/docker"
31+ def dockerName = project. name. toLowerCase() + " :" + version. toLowerCase()
32+
33+ task dockerBuild (type : Exec ) {
34+ workingDir project. projectDir
35+ commandLine ' docker' , ' build' , ' -t' , dockerName, dockerFile
36+ }
37+
38+ dockerBuild. dependsOn copySrc
39+ dockerBuild. dependsOn copyWrapper
40+ dockerBuild. dependsOn copyDockerFile
41+
42+ task dockerRun (type : Exec ) {
43+ group = " application"
44+ group = " docker"
45+ workingDir project. projectDir
46+ commandLine ' docker' , ' run' , dockerName , " ./gradlew" , " run"
47+ }
48+
49+ dockerRun. dependsOn dockerBuild
50+
51+ task dockerTest (type : Exec ) {
52+ group = " verification"
53+ group = " docker"
54+ workingDir project. projectDir
55+ commandLine ' docker' , ' run' , dockerName , " ./gradlew" , " test"
56+ }
57+
58+ dockerTest. dependsOn dockerBuild
0 commit comments