From 7e7a22e52c09cfcbf2013b005935163396f79d39 Mon Sep 17 00:00:00 2001 From: Ievgenii Shepeliuk Date: Mon, 7 Sep 2020 17:33:34 +0300 Subject: [PATCH] chore: use compiled cmak for docker build * consider renamed github repository * use compiled version * use slim base image * single place for keeping CMAK version Resolves #27 Resolves #24 Resolves #22 Resolves #11 --- Dockerfile | 37 ++++++++++++++----------------------- README.md | 4 +--- robust_build.sh | 18 ------------------ 3 files changed, 15 insertions(+), 44 deletions(-) delete mode 100755 robust_build.sh diff --git a/Dockerfile b/Dockerfile index 78ef8f0..f7d480c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,31 +1,22 @@ +FROM openjdk:11-jre as build -### STAGE 1: Build ### -FROM openjdk:11-jdk AS build +ARG CMAK_VERSION="3.0.0.5" -ENV KAFKA_MANAGER_SOURCE=3.0.0.5 -ENV KAFKA_MANAGER_VERSION=3.0.0.5 -ENV KAFKA_MANAGER_SRC_DIR=/kafka-manager-source -ENV KAFKA_MANAGER_DIST_FILE=$KAFKA_MANAGER_SRC_DIR/target/universal/cmak-$KAFKA_MANAGER_VERSION.zip +RUN curl -L https://github.com/yahoo/CMAK/releases/download/${CMAK_VERSION}/cmak-${CMAK_VERSION}.zip -o /tmp/cmak.zip \ + && unzip /tmp/cmak.zip -d / \ + && ln -s /cmak-$CMAK_VERSION /cmak \ + && rm -rf /tmp/cmak.zip -RUN echo "Building Kafka Manager" \ - && wget "https://github.com/yahoo/CMAK/archive/${KAFKA_MANAGER_SOURCE}.tar.gz" -O CMAK-sources.tar.gz \ - && mkdir $KAFKA_MANAGER_SRC_DIR \ - && tar -xzf CMAK-sources.tar.gz -C $KAFKA_MANAGER_SRC_DIR --strip-components=1 \ - && cd $KAFKA_MANAGER_SRC_DIR \ - && echo 'scalacOptions ++= Seq("-Xmax-classfile-name", "200")' >> build.sbt - -ADD robust_build.sh / -RUN chmod +x robust_build.sh && /robust_build.sh - -### STAGE 2: Package ### -FROM openjdk:11-jre +FROM openjdk:11-jre-slim MAINTAINER Hleb Albau -###RUN apk update && apk add bash -COPY --from=build /kafka-manager-bin /kafka-manager +COPY --from=build /cmak /cmak + +VOLUME /cmak/conf -VOLUME /kafka-manager/conf ENV JAVA_OPTS=-XX:MaxRAMPercentage=80 -##CMD ["/kafka-manager/bin/cmak", "-Dpidfile.path=/dev/null", "-Dapplication.home=/kafka-manager"] -ENTRYPOINT ["/kafka-manager/bin/cmak", "-Dpidfile.path=/dev/null", "-Dapplication.home=/kafka-manager", ""] + +WORKDIR /cmak + +ENTRYPOINT ["/cmak/bin/cmak", "-Dpidfile.path=/dev/null", "-Dapplication.home=/cmak", ""] diff --git a/README.md b/README.md index 158e4d7..b1fd606 100644 --- a/README.md +++ b/README.md @@ -18,8 +18,7 @@ Kafka Manager images come in two flavors: docker run -d \ -p 9000:9000 \ -e ZK_HOSTS="localhost:2181" \ - hlebalbau/kafka-manager:stable \ - -Dpidfile.path=/dev/null + hlebalbau/kafka-manager:stable ``` ### Using docker-compose @@ -33,7 +32,6 @@ services: environment: ZK_HOSTS: "zoo:2181" APPLICATION_SECRET: "random-secret" - command: -Dpidfile.path=/dev/null ``` ### In Kubernetes with Kubernetes operator diff --git a/robust_build.sh b/robust_build.sh deleted file mode 100755 index b0b3271..0000000 --- a/robust_build.sh +++ /dev/null @@ -1,18 +0,0 @@ -BUILD_COUNTER=1 -until (ls $KAFKA_MANAGER_DIST_FILE && exit 0) do - - echo "Build count $BUILD_COUNTER" - - (cd $KAFKA_MANAGER_SRC_DIR \ - && ./sbt clean dist \ - && unzip -d ./builded ./target/universal/cmak-${KAFKA_MANAGER_VERSION}.zip \ - && mv -T ./builded/cmak-${KAFKA_MANAGER_VERSION} /kafka-manager-bin ; exit 0) - - BUILD_COUNTER=$((BUILD_COUNTER + 1)) - - if [ $BUILD_COUNTER -gt 5 ]; then - break - fi -done - -ls $KAFKA_MANAGER_DIST_FILE \ No newline at end of file