ViliusS commented on PR #4307:
URL: 
https://github.com/apache/activemq-artemis/pull/4307#issuecomment-1586091960

   I've went through couple of different YAML and bash solution iterations 
today. I have also tested the solution provided in this PR. I still have to 
conclude that at least for us multistage builds give more headache than it 
solves.
   
   My main concern, as mentioned previously, is that Artemis preparation 
process will be integrated into Docker image which doesn't allow for easy 
customization. For example previously we had such Jenkins CI pipeline:
   
   ```
         stage('prepare configuration') {
           steps {
             sh "./prepare-docker.sh --from-release --artemis-version 
$ARTEMIS_VERSION"
             sh "........ our modifications and custom configuration goes 
here........."
           }
         }
         stage('build image') {
           steps {
             script {
               docker.withRegistry(env.DOCKER__REPOSITORY, env.DOCKER_LOGIN) {
                 sh '''
                   cd _TMP_/artemis/$ARTEMIS_VERSION
                   docker build -f ./docker/Dockerfile-ubuntu-17-jre -t 
$BUILD_IMAGE $BUILD_DIR
                   docker push $BUILD_IMAGE
                   rm -rf _TMP_
                 '''
               }
             }
           }
         }
   ```
   
   If this PR is ought to be accepted we won't be able to modify Artemis image 
as easily anymore. We would need to download official docker file, modify it by 
using "patch" or similar tools and only then build our image. This means we 
would need to maintain our own Dockerfile which looses the purpose of having 
official Docker file altogether. It also integrates preparation process into 
build process which lowers visibility in Jenkins (or any other CI system) UI.
   
   The final word will be on Artemis maintainers, by my proposal is to leave 
current Docker files as their are. If building Artemis images for fast local 
development is really a problem (which I don't think it is to run 2 commands 
instead of 1), then have separate Docker files. Or better yet, have official 
Docker image uploaded to Docker Hub for easy run with default settings. That 
way Docker files can stay in the repo for those wanting to modify the image.
   
   On a side note, what I would really want to see happening is proper 
customization via environment variables or Docker entrypoint as mentioned in 
[ARTEMIS-3042](https://issues.apache.org/jira/browse/ARTEMIS-3042).


-- 
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]

Reply via email to