Skip to content

Commit 86893cb

Browse files
Merge pull request #559 from hobbit-project/feature/build-in-docker
Build all components in Docker
2 parents d169b44 + 7669710 commit 86893cb

File tree

5 files changed

+41
-32
lines changed

5 files changed

+41
-32
lines changed

Makefile

+4-21
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
# build platform components
2-
default: build
1+
build: build-dev-images
32

43
deploy: create-networks start
54

@@ -26,35 +25,19 @@ start-dev-platform:
2625
start-dev-elk:
2726
docker-compose -f docker-compose-elk.yml up -d
2827

29-
build: build-java build-dev-images
30-
31-
build-java: install-parent-pom build-controller build-storage build-analysis build-gui
32-
33-
build-gui:
34-
# see hobbit-gui/gui-serverbackend/Dockerfile
35-
36-
build-controller:
37-
cd platform-controller && make build
38-
39-
build-storage:
40-
cd platform-storage/storage-service && mvn clean package -U
41-
42-
build-analysis:
43-
cd analysis-component && mvn clean package -U
44-
4528
build-dev-images: build-dev-platform-controller-image build-dev-gui-image build-dev-analysis-image build-dev-storage-image
4629

4730
build-dev-platform-controller-image:
48-
docker build -t hobbitproject/hobbit-platform-controller:dev ./platform-controller
31+
docker build -t hobbitproject/hobbit-platform-controller:dev --file platform-controller/Dockerfile .
4932

5033
build-dev-gui-image:
5134
docker build -t hobbitproject/hobbit-gui:dev --file hobbit-gui/gui-serverbackend/Dockerfile .
5235

5336
build-dev-analysis-image:
54-
docker build -t hobbitproject/hobbit-analysis-component:dev ./analysis-component
37+
docker build -t hobbitproject/hobbit-analysis-component:dev --file ./analysis-component/Dockerfile .
5538

5639
build-dev-storage-image:
57-
docker build -t hobbitproject/hobbit-storage-service:dev ./platform-storage/storage-service
40+
docker build -t hobbitproject/hobbit-storage-service:dev --file ./platform-storage/storage-service/Dockerfile .
5841

5942
create-networks:
6043
@docker network inspect hobbit >/dev/null || (docker network create -d overlay --attachable --subnet 172.16.100.0/24 hobbit && echo "Created network: hobbit")

analysis-component/Dockerfile

+12-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
1-
FROM eclipse-temurin:11-focal
1+
FROM maven:3-eclipse-temurin-11 AS build
2+
WORKDIR /usr/src/hobbit-platform
3+
COPY parent-pom/pom.xml parent-pom/
4+
RUN mvn --file parent-pom -Dmaven.test.skip=true install
5+
ARG project=analysis-component
6+
COPY ${project}/pom.xml ${project}/
7+
RUN mvn --file ${project} dependency:go-offline
8+
COPY ${project}/src ${project}/src
9+
RUN mvn --file ${project} -Dmaven.test.skip=true package
210

3-
COPY target/analysis-component.jar .
4-
5-
CMD java -cp analysis-component.jar org.hobbit.core.run.ComponentStarter org.hobbit.analysis.AnalysisComponent
11+
FROM eclipse-temurin:11
12+
COPY --from=build /usr/src/hobbit-platform/analysis-component/target/analysis-component.jar .
13+
CMD ["java", "-cp", "analysis-component.jar", "org.hobbit.core.run.ComponentStarter", "org.hobbit.analysis.AnalysisComponent"]

hobbit-gui/gui-serverbackend/Dockerfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@ RUN npm --prefix hobbit-gui/gui-client run build-prod
1313
FROM maven:3-eclipse-temurin-11 AS build
1414
WORKDIR /usr/src/hobbit-platform
1515
COPY parent-pom/pom.xml ./parent-pom/
16+
RUN mvn --file parent-pom -Dmaven.test.skip=true install
1617
COPY hobbit-gui/gui-serverbackend/pom.xml ./hobbit-gui/gui-serverbackend/
1718
RUN mvn --file ./hobbit-gui/gui-serverbackend/ dependency:go-offline
1819
COPY hobbit-gui/gui-serverbackend/src ./hobbit-gui/gui-serverbackend/src
19-
RUN mvn --file ./hobbit-gui/gui-serverbackend/ test
2020
COPY --from=build-client /usr/src/hobbit-platform/hobbit-gui/gui-client/dist ./hobbit-gui/gui-client/dist
21-
RUN mvn --file ./hobbit-gui/gui-serverbackend/ package
21+
RUN mvn --file ./hobbit-gui/gui-serverbackend/ -Dmaven.test.skip=true package
2222

2323
FROM jetty:9.3-jre8
2424

platform-controller/Dockerfile

+12-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,18 @@
1-
FROM eclipse-temurin:11-focal
1+
FROM maven:3-eclipse-temurin-11 AS build
2+
WORKDIR /usr/src/hobbit-platform
3+
COPY parent-pom/pom.xml parent-pom/
4+
RUN mvn --file parent-pom -Dmaven.test.skip=true install
5+
ARG project=platform-controller
6+
COPY ${project}/pom.xml ${project}/
7+
RUN mvn --file ${project} dependency:go-offline
8+
COPY ${project}/src ${project}/src
9+
RUN mvn --file ${project} -Dmaven.test.skip=true package
10+
11+
FROM eclipse-temurin:11
212

313
# Create an empty metadata directory (it will be used as default by the file-based image manager)
414
RUN mkdir -p /usr/src/app/metadata
515

6-
COPY target/platform-controller.jar platform-controller.jar
16+
COPY --from=build /usr/src/hobbit-platform/platform-controller/target/platform-controller.jar .
717

818
CMD ["java", "-cp", "platform-controller.jar", "org.hobbit.core.run.ComponentStarter", "org.hobbit.controller.PlatformController"]
+11-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
1-
FROM eclipse-temurin:11-focal
2-
3-
COPY target/storage-service.jar storage-service.jar
1+
FROM maven:3-eclipse-temurin-11 AS build
2+
WORKDIR /usr/src/hobbit-platform
3+
COPY parent-pom/pom.xml parent-pom/
4+
RUN mvn --file parent-pom -Dmaven.test.skip=true install
5+
ARG project=platform-storage/storage-service
6+
COPY ${project}/pom.xml ${project}/
7+
RUN mvn --file ${project} dependency:go-offline
8+
COPY ${project}/src ${project}/src
9+
RUN mvn --file ${project} -Dmaven.test.skip=true package
410

11+
FROM eclipse-temurin:11
12+
COPY --from=build /usr/src/hobbit-platform/platform-storage/storage-service/target/storage-service.jar .
513
CMD ["java", "-cp", "storage-service.jar", "org.hobbit.core.run.ComponentStarter", "org.hobbit.storage.service.StorageService"]

0 commit comments

Comments
 (0)