tigerquoll commented on issue #1501: Metron-2246 rpm-docker - minimise use of 
bind mounts due to performance
URL: https://github.com/apache/metron/pull/1501#issuecomment-528135292
 
 
   @ottobackwards 
   First some clarification:  The old docker build process mounted the entire 
project directory inside the docker file as a bind share, and utilised the 
project subdirectories for various purposes.
   
   The new process moves away from this by:
   
   1. Building in the rpm build source data directories (SPEC and SOURCES) 
directly into the image rather than using BIND share with the associated IO 
penalty.
   2. Having the rpm build working directories (BUILD and BUILDROOT), as simply 
runtime ephemeral directories inside the docker image, again skipping the IO 
penalty of bind shares.
   3. Having the rpm build output directories (RPMS and SRPMS) as simply 
runtime ephemeral directories inside the docker image as well.  RPMLINT is run 
on the rpms in these output directories as one of the last steps in the build 
process.  Running RPMlint on a bind share was a big IO penalty.
   4. A new last step which actually used to be run by maven. Copying files 
from RPMS/SRPMS directories to the project "**target**" directory.  The 
"**target**" directory is now the only shared bind directory used to move data 
from the running docker image to the project build directory.  
   
   Pushing this last step inside the running docker image allows rpmlint to 
process the rpms while they are still sitting on the higher-performing 
in-docker filesystems, rather then while the RPMS are sitting on a shared bind 
directory.
   
   The readme was updated to show the new location that rpms are located once 
the docker image has finished running as it does this "move to target 
directory" step rather then the maven process;

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to