Skip to content

Commit

Permalink
chore: improved build & run configs
Browse files Browse the repository at this point in the history
  • Loading branch information
j0a0m4 committed Jun 20, 2023
1 parent a571999 commit e58af54
Show file tree
Hide file tree
Showing 8 changed files with 43 additions and 34 deletions.
5 changes: 3 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@ name: Docker Image Test CI

on:
push:
branches-ignore:
- main
branches: [ "*" ]
pull_request:
branches: [ "*" ]

jobs:
test:
Expand Down
3 changes: 2 additions & 1 deletion .run/Build App in Container.run.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
<configuration default="false" name="Build App in Container" type="docker-deploy" factoryName="dockerfile" server-name="Docker">
<deployment type="dockerfile">
<settings>
<option name="containerName" value="" />
<option name="imageTag" value="ports-and-adapters-build" />
<option name="containerName" value="ports-and-adapters-build" />
<option name="portBindings">
<list>
<DockerPortBindingImpl>
Expand Down
3 changes: 2 additions & 1 deletion .run/Run App in Container.run.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
<configuration default="false" name="Run App in Container" type="docker-deploy" factoryName="dockerfile" server-name="Docker">
<deployment type="dockerfile">
<settings>
<option name="containerName" value="" />
<option name="imageTag" value="ports-and-adapters-run" />
<option name="containerName" value="ports-and-adapters-run" />
<option name="portBindings">
<list>
<DockerPortBindingImpl>
Expand Down
3 changes: 2 additions & 1 deletion .run/Test App in Container.run.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
<configuration default="false" name="Test App in Container" type="docker-deploy" factoryName="dockerfile" server-name="Docker">
<deployment type="dockerfile">
<settings>
<option name="containerName" value="" />
<option name="imageTag" value="ports-and-adapters-test" />
<option name="containerName" value="ports-and-adapters-test" />
<option name="sourceFilePath" value="Dockerfile.test" />
</settings>
</deployment>
Expand Down
25 changes: 13 additions & 12 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
FROM eclipse-temurin:19.0.2_7-jdk-alpine as gradle
RUN apk add --no-cache gradle
FROM eclipse-temurin:19.0.2_7-jdk-alpine as GRADLE
COPY *.gradle gradle.* gradlew /src/
COPY gradle /src/gradle
WORKDIR /src
RUN ["./gradlew", "--version"]

FROM gradle as builder
USER root
ENV APP_HOME=/builder
WORKDIR $APP_HOME
COPY . $APP_HOME
RUN gradle build --exclude-task test --stacktrace --no-daemon --no-build-cache --parallel
FROM GRADLE as BUILDER
VOLUME /tmp
WORKDIR /src
COPY . .
RUN [ "./gradlew", "build", "--exclude-task", "test", "--stacktrace", "--no-daemon", "--parallel"]

FROM eclipse-temurin:19.0.2_7-jre-alpine
WORKDIR /app
expose 8080
COPY --from=builder "/builder/build/libs/ports-and-adapters-0.0.1-SNAPSHOT.jar" .
CMD ["java", "-jar", "ports-and-adapters-0.0.1-SNAPSHOT.jar"]
COPY --from=BUILDER ports-and-adapters-0.0.1-SNAPSHOT.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "app.jar"]
17 changes: 9 additions & 8 deletions Dockerfile.build
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
FROM eclipse-temurin:19.0.2_7-jdk-alpine as gradle
RUN apk add --no-cache gradle

FROM gradle as builder
FROM eclipse-temurin:19.0.2_7-jdk-alpine as GRADLE
USER root
ENV APP_HOME=/builder
WORKDIR $APP_HOME
COPY . $APP_HOME
RUN gradle gradle dist --exclude-task test --stacktrace --no-daemon --no-build-cache --parallel
COPY *.gradle gradle.* gradlew /src/
COPY gradle /src/gradle
WORKDIR /src
RUN ["./gradlew", "--version"]

FROM GRADLE
COPY . .
ENTRYPOINT [ "./gradlew", "build", "--exclude-task", "test", "--stacktrace", "--no-daemon", "--parallel"]
20 changes: 12 additions & 8 deletions Dockerfile.test
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
FROM eclipse-temurin:19.0.2_7-jdk-alpine as gradle
RUN apk add --no-cache gradle

FROM gradle as builder
FROM eclipse-temurin:19.0.2_7-jdk-alpine as GRADLE
USER root
ENV APP_HOME=/builder
WORKDIR $APP_HOME
COPY . $APP_HOME
RUN gradle test --stacktrace --no-daemon --no-build-cache --parallel
COPY *.gradle gradle.* gradlew /src/
COPY gradle /src/gradle
WORKDIR /src
RUN ["./gradlew", "--version"]

FROM GRADLE as BUILDER
COPY . .
RUN ["./gradlew", "clean"]

FROM BUILDER
ENTRYPOINT [ "./gradlew", "test", "--stacktrace", "--no-daemon", "--parallel"]
1 change: 0 additions & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
org.gradle.caching=true
org.gradle.configureondemand=true
org.gradle.parallel=true

0 comments on commit e58af54

Please sign in to comment.