diff --git a/Dockerfile b/Dockerfile index 8a38986..6eb75f4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,3 +1,11 @@ +FROM --platform=$BUILDPLATFORM openjdk:8-jre-alpine AS builder + +RUN apk update && apk add gradle git && rm -rf /var/lib/apk/* /var/cache/apk/* + +WORKDIR /ma1sd +COPY . . +RUN ./gradlew shadowJar + FROM openjdk:8-jre-alpine RUN apk update && apk add bash && rm -rf /var/lib/apk/* /var/cache/apk/* @@ -15,4 +23,4 @@ CMD [ "/start.sh" ] ADD src/docker/start.sh /start.sh ADD src/script/ma1sd /app/ma1sd -ADD build/libs/ma1sd.jar /app/ma1sd.jar +COPY --from=builder /ma1sd/build/libs/ma1sd.jar /app/ma1sd.jar diff --git a/build.gradle b/build.gradle index fa081b2..5b1185c 100644 --- a/build.gradle +++ b/build.gradle @@ -264,7 +264,7 @@ task debBuild(dependsOn: shadowJar) { } } -task dockerBuild(type: Exec, dependsOn: shadowJar) { +task dockerBuild(type: Exec) { commandLine 'docker', 'build', '-t', dockerImageTag, project.rootDir doLast { @@ -275,22 +275,10 @@ task dockerBuild(type: Exec, dependsOn: shadowJar) { } task dockerBuildX(type: Exec, dependsOn: shadowJar) { - commandLine 'docker', 'buildx', 'build', '--load', '--platform', 'linux/arm64', '-t', dockerImageTag + '-arm64', project.rootDir + commandLine 'docker', 'buildx', 'build', '--push', '--platform', 'linux/arm64,linux/amd64,linux/arm/v7', '-t', dockerImageTag , project.rootDir doLast { exec { - commandLine 'docker', 'buildx', 'build', '--load', '--platform', 'linux/amd64', '-t', dockerImageTag + '-amd64', project.rootDir - } - - exec { - commandLine 'docker', 'tag', dockerImageTag + '-arm64', "${dockerImageName}:latest-arm64-dev" - } - - exec { - commandLine 'docker', 'tag', dockerImageTag + '-amd64', "${dockerImageName}:latest-amd64-dev" - } - - exec { - commandLine 'docker', 'tag', dockerImageTag + '-amd64', "${dockerImageName}:latest-dev" + commandLine 'docker', 'buildx', 'build', '--push', '--platform', 'linux/arm64,linux/amd64,linux/arm/v7', '-t', "${dockerImageName}:latest-dev", project.rootDir } } }