From 7e82c8d628a1bcf2eb0901b46d131f5bd94b0561 Mon Sep 17 00:00:00 2001 From: Jens Pots Date: Sat, 8 Jun 2024 14:29:12 +0200 Subject: [PATCH] feat: initial docker config [no ci] (#14) --- .dockerignore | 7 +++++++ Dockerfile | 20 ++++++++++++++++++++ build.gradle.kts | 5 +++++ docker-compose.yml | 8 ++++++++ gradle.properties | 5 +++++ 5 files changed, 45 insertions(+) create mode 100644 .dockerignore create mode 100644 Dockerfile create mode 100644 docker-compose.yml diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..a302228 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,7 @@ +* +!gradle +!gradle.properties +!gradlew +!build.gradle.kts +!settings.gradle.kts +!src diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..d61dbde --- /dev/null +++ b/Dockerfile @@ -0,0 +1,20 @@ +FROM gradle:8.8.0-jdk17-alpine as build + +WORKDIR /app + +# All files which may not be copied must be specified in the .dockerignore +# file. +COPY . ./ + +RUN gradle build -x test + +FROM amazoncorretto:22.0.1-alpine3.19 + +# Set the working directory +WORKDIR /app + +# Copy the JAR file from the build stage +COPY --from=build "/app/build/libs/technology.idlab.jvm-runner-[0-9\.]*-all.jar" runner.jar + +# Set the entry point to run the application +ENTRYPOINT ["java", "-jar", "runner.jar"] diff --git a/build.gradle.kts b/build.gradle.kts index dcc355d..97341d1 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -97,3 +97,8 @@ publishing { } } } + +/** Set the maximum number of parallel forks to the number of available processors. */ +tasks.withType().configureEach { + maxParallelForks = Runtime.getRuntime().availableProcessors().coerceAtLeast(1) +} diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..36bc13f --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,8 @@ +services: + jvm-runner: + build: + context: . + dockerfile: Dockerfile + container_name: jvm-runner + environment: + - JAVA_OPTS=-Xmx512m diff --git a/gradle.properties b/gradle.properties index 7fc6f1f..1ef1216 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1 +1,6 @@ kotlin.code.style=official +org.gradle.parallel=true +org.gradle.daemon=true +org.gradle.configuration-cache=true +org.gradle.caching=true +org.gradle.jvmargs=-Xmx2048M