Skip to content

Commit c56f4fd

Browse files
bukajsytlosBrutus5000
authored andcommitted
Closes #403 Configure SB 2.3 layered docker image support
1 parent 5ffdb29 commit c56f4fd

3 files changed

Lines changed: 22 additions & 4 deletions

File tree

Dockerfile

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
1-
FROM adoptopenjdk/openjdk11:alpine-jre
1+
FROM adoptopenjdk/openjdk11:alpine-jre as builder
2+
WORKDIR /application
3+
ARG JAR_FILE=build/libs/faf-java-api-*.jar
4+
COPY ${JAR_FILE} application.jar
5+
RUN java -Djarmode=layertools -jar application.jar extract
26

7+
FROM adoptopenjdk/openjdk11:alpine-jre
38
VOLUME /tmp
4-
COPY build/libs/faf-java-api-*.jar app.jar
5-
ENTRYPOINT ["java", "-server", "-Djava.security.egd=file:/dev/./urandom", "-jar", "app.jar"]
9+
WORKDIR /application
10+
COPY --from=builder /application/dependencies/ ./
11+
COPY --from=builder /application/spring-boot-loader/ ./
12+
COPY --from=builder /application/snapshot-dependencies/ ./
13+
COPY --from=builder /application/application/ ./
14+
ENTRYPOINT ["java", "-server", "-Djava.security.egd=file:/dev/./urandom", "org.springframework.boot.loader.JarLauncher"]

build.gradle

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,10 @@ task inttest(type: Test) {
171171
mustRunAfter test
172172
}
173173

174+
bootJar {
175+
layered()
176+
}
177+
174178
// JACOCO & COVERALLS
175179

176180
apply plugin: 'jacoco'

src/main/java/com/faforever/api/FafApiApplication.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,15 @@
33
import com.faforever.api.config.FafApiProperties;
44
import org.springframework.boot.SpringApplication;
55
import org.springframework.boot.autoconfigure.SpringBootApplication;
6+
import org.springframework.boot.autoconfigure.security.oauth2.OAuth2AutoConfiguration;
7+
import org.springframework.boot.autoconfigure.security.oauth2.authserver.OAuth2AuthorizationServerConfiguration;
8+
import org.springframework.boot.autoconfigure.security.oauth2.method.OAuth2MethodSecurityConfiguration;
69
import org.springframework.boot.context.properties.EnableConfigurationProperties;
10+
import org.springframework.context.annotation.Import;
711
import org.springframework.transaction.annotation.EnableTransactionManagement;
812

9-
@SpringBootApplication
13+
@SpringBootApplication(exclude = {OAuth2AutoConfiguration.class})
14+
@Import({OAuth2AuthorizationServerConfiguration.class, OAuth2MethodSecurityConfiguration.class})
1015
@EnableTransactionManagement
1116
@EnableConfigurationProperties({FafApiProperties.class})
1217
public class FafApiApplication {

0 commit comments

Comments
 (0)