lordgamez commented on a change in pull request #1151:
URL: https://github.com/apache/nifi-minifi-cpp/pull/1151#discussion_r682577916
##########
File path: docker/focal/Dockerfile
##########
@@ -29,19 +29,22 @@ ENV MINIFI_HOME
$MINIFI_BASE_DIR/nifi-minifi-cpp-$MINIFI_VERSION
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/
RUN apt update
-RUN DEBIAN_FRONTEND="noninteractive" apt install -y openjdk-8-jdk
openjdk-8-source python3.9-dev sudo git maven autogen autoconf automake cmake
+RUN DEBIAN_FRONTEND="noninteractive" apt install -y openjdk-8-jdk
openjdk-8-source python3.9-dev sudo git maven autogen autoconf automake cmake
software-properties-common
RUN mkdir -p $MINIFI_BASE_DIR
COPY . ${MINIFI_BASE_DIR}
FROM build_deps AS release
ARG ENABLE_JNI
-# Perform the build
-RUN cd $MINIFI_BASE_DIR \
- && ./bootstrap.sh -e -t \
- && rm -rf build \
- && mkdir build \
- && cd build \
- && cmake -DUSE_SHARED_LIBS= -DENABLE_MQTT=ON -DENABLE_LIBRDKAFKA=ON
-DPORTABLE=ON -DENABLE_COAP=ON -DCMAKE_BUILD_TYPE=Release -DSKIP_TESTS=true
-DENABLE_JNI=$ENABLE_JNI .. \
- && make -j$(nproc) package
+
+# Run bootstrap
+RUN cd $MINIFI_BASE_DIR && ./bootstrap.sh -t
+
+ENV CC gcc-11
+ENV CXX g++-11
+
+# Build
+RUN cd $MINIFI_BASE_DIR/build \
Review comment:
ENV variables could be moved up and the two RUN commands merged into a
single one
##########
File path: docker/focal/Dockerfile
##########
@@ -29,19 +29,22 @@ ENV MINIFI_HOME
$MINIFI_BASE_DIR/nifi-minifi-cpp-$MINIFI_VERSION
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/
RUN apt update
-RUN DEBIAN_FRONTEND="noninteractive" apt install -y openjdk-8-jdk
openjdk-8-source python3.9-dev sudo git maven autogen autoconf automake cmake
+RUN DEBIAN_FRONTEND="noninteractive" apt install -y openjdk-8-jdk
openjdk-8-source python3.9-dev sudo git maven autogen autoconf automake cmake
software-properties-common
RUN mkdir -p $MINIFI_BASE_DIR
Review comment:
These commands could be merged into a single RUN command
##########
File path: docker/focal/Dockerfile
##########
@@ -29,19 +29,22 @@ ENV MINIFI_HOME
$MINIFI_BASE_DIR/nifi-minifi-cpp-$MINIFI_VERSION
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/
RUN apt update
-RUN DEBIAN_FRONTEND="noninteractive" apt install -y openjdk-8-jdk
openjdk-8-source python3.9-dev sudo git maven autogen autoconf automake cmake
+RUN DEBIAN_FRONTEND="noninteractive" apt install -y openjdk-8-jdk
openjdk-8-source python3.9-dev sudo git maven autogen autoconf automake cmake
software-properties-common
RUN mkdir -p $MINIFI_BASE_DIR
Review comment:
Usually it's recommended to minimize the layer count and as every
command in a Dockerfile creates a new layer it is good practice to merge
multiple RUN commands to have less layers.
##########
File path: docker/focal/Dockerfile
##########
@@ -29,19 +29,22 @@ ENV MINIFI_HOME
$MINIFI_BASE_DIR/nifi-minifi-cpp-$MINIFI_VERSION
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/
RUN apt update
-RUN DEBIAN_FRONTEND="noninteractive" apt install -y openjdk-8-jdk
openjdk-8-source python3.9-dev sudo git maven autogen autoconf automake cmake
+RUN DEBIAN_FRONTEND="noninteractive" apt install -y openjdk-8-jdk
openjdk-8-source python3.9-dev sudo git maven autogen autoconf automake cmake
software-properties-common
RUN mkdir -p $MINIFI_BASE_DIR
Review comment:
Only RUN commands can be chained in a bash like manner with `&&` ENV and
COPY don't really have a similar option
##########
File path: docker/focal/Dockerfile
##########
@@ -29,19 +29,22 @@ ENV MINIFI_HOME
$MINIFI_BASE_DIR/nifi-minifi-cpp-$MINIFI_VERSION
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/
RUN apt update
-RUN DEBIAN_FRONTEND="noninteractive" apt install -y openjdk-8-jdk
openjdk-8-source python3.9-dev sudo git maven autogen autoconf automake cmake
+RUN DEBIAN_FRONTEND="noninteractive" apt install -y openjdk-8-jdk
openjdk-8-source python3.9-dev sudo git maven autogen autoconf automake cmake
software-properties-common
RUN mkdir -p $MINIFI_BASE_DIR
Review comment:
Only RUN commands can be chained in a bash like manner with `&&` (as it
is just a command run inside the container) ENV and COPY don't really have a
similar option
##########
File path: docker/focal/Dockerfile
##########
@@ -29,19 +29,22 @@ ENV MINIFI_HOME
$MINIFI_BASE_DIR/nifi-minifi-cpp-$MINIFI_VERSION
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/
RUN apt update
-RUN DEBIAN_FRONTEND="noninteractive" apt install -y openjdk-8-jdk
openjdk-8-source python3.9-dev sudo git maven autogen autoconf automake cmake
+RUN DEBIAN_FRONTEND="noninteractive" apt install -y openjdk-8-jdk
openjdk-8-source python3.9-dev sudo git maven autogen autoconf automake cmake
software-properties-common
RUN mkdir -p $MINIFI_BASE_DIR
Review comment:
But if the question was regarding the creation of the layers, yes all of
those create new layers.
##########
File path: docker/focal/Dockerfile
##########
@@ -29,19 +29,22 @@ ENV MINIFI_HOME
$MINIFI_BASE_DIR/nifi-minifi-cpp-$MINIFI_VERSION
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/
RUN apt update
-RUN DEBIAN_FRONTEND="noninteractive" apt install -y openjdk-8-jdk
openjdk-8-source python3.9-dev sudo git maven autogen autoconf automake cmake
+RUN DEBIAN_FRONTEND="noninteractive" apt install -y openjdk-8-jdk
openjdk-8-source python3.9-dev sudo git maven autogen autoconf automake cmake
software-properties-common
RUN mkdir -p $MINIFI_BASE_DIR
Review comment:
I think keeping it as a prefix is better.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]