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]