diff --git a/package/pom.xml b/package/pom.xml index 3d499e528c..5ef6ee5ab8 100644 --- a/package/pom.xml +++ b/package/pom.xml @@ -142,44 +142,193 @@ - org.eclipse.jkube - kubernetes-maven-plugin - ${kubernetes-maven-plugin.version} + org.codehaus.mojo + exec-maven-plugin + 3.1.0 + + + amd64 + package + + exec + + + docker + + build + --tag + arcadedata/arcadedb:latest-amd64 + --tag + arcadedata/arcadedb:${project.version}-amd64 + --platform + linux/amd64 + --build-arg + TARGET=target/arcadedb-${project.version}.dir/arcadedb-${project.version} + -f + ${project.basedir}/src/main/docker/Dockerfile + . + + + + - default + arm64 package - build + exec + + + docker + + build + --tag + arcadedata/arcadedb:latest-arm64 + --tag + arcadedata/arcadedb:${project.version}-arm64 + --platform + linux/arm64 + --build-arg + TARGET=target/arcadedb-${project.version}.dir/arcadedb-${project.version} + -f + ${project.basedir}/src/main/docker/Dockerfile + . + + + + + + latest_push_amd + deploy + + exec + + + docker + + push + arcadedata/arcadedb:latest-amd64 + + + + + + latest_push_arm + deploy + + exec + + + docker + + push + arcadedata/arcadedb:latest-arm64 + + + + + + latest_amend + deploy + + exec + + + docker + + manifest + create + arcadedata/arcadedb:latest + --amend + arcadedata/arcadedb:latest-amd64 + --amend + arcadedata/arcadedb:latest-arm64 + + + + + + latest_push + deploy + + exec + + + docker + + manifest + push + arcadedata/arcadedb:latest + + + + + + version_push_amd + deploy + + exec + + + docker + + push + arcadedata/arcadedb:${project.version}-amd64 + + + + + + version_push_arm + deploy + + exec + + docker + + push + arcadedata/arcadedb:${project.version}-arm64 + + + - deploy + version_amend deploy - push + exec + + docker + + manifest + create + arcadedata/arcadedb:${project.version} + --amend + arcadedata/arcadedb:${project.version}-amd64 + --amend + arcadedata/arcadedb:${project.version}-arm64 + + + + + + version_push + deploy + + exec + + + docker + + manifest + push + arcadedata/arcadedb:${project.version} + + - - true - - - arcadedata/arcadedb - - ${project.basedir}/src/main/docker/Dockerfile - ${project.build.directory}/arcadedb-${project.version}.dir - - arm64v8/,amd64/,winamd64/,arm32v7/ - - - latest - ${project.version} - - - - - diff --git a/package/src/main/docker/Dockerfile b/package/src/main/docker/Dockerfile index 506fb95c7f..e15acac517 100644 --- a/package/src/main/docker/Dockerfile +++ b/package/src/main/docker/Dockerfile @@ -14,10 +14,12 @@ # limitations under the License. # -ARG ARCH= +ARG ARCH FROM ${ARCH}eclipse-temurin:11 +ARG TARGET + LABEL maintainer="Arcade Data LTD (info@arcadedb.com)" ENV JAVA_OPTS=" " @@ -30,10 +32,13 @@ ENV ARCADEDB_JMX="-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxre RUN useradd -ms /bin/bash arcadedb +COPY --chown=arcadedb:arcadedb ${TARGET} /home/arcadedb + +RUN chmod +x /home/arcadedb/bin/*.sh + WORKDIR /home/arcadedb -COPY --chown=arcadedb:arcadedb ./maven/arcadedb-* ./ -RUN chmod +x ./bin/*.sh +USER arcadedb # Volumes available VOLUME [ "/home/arcadedb/databases"]