Thanks for your reply. I tried to narrow things down: A simple Dockerfile, that only copies "my" config.xml to /usr/share/jenkins/ref/ works fine. The config.xml is kept unmodified as expected. (The only thing, that is different between "my" config.xml and a default config.xml is the line <disableSignup>false</disableSignup>, which is true by default.) FROM jenkins:alpine COPY config.xml /usr/share/jenkins/ref/ See https://github.com/sradi/jenkins-provisioning-problem/tree/5eea71d967cba618884aafb2b74245f75d0900e8
Adding some scripts to init.groovy.d (change number of executors and create a default user 'admin')... Still everything works as expected. See https://github.com/sradi/jenkins-provisioning-problem/tree/12a431ccac229b3d24f5404e0aedc7d02810a8b1 Additionally run 'install-plugins.sh'... PROBLEM OCCURS: The config.xml is unexpectedly modified (disableSignup is reset to 'true'). FROM jenkins:alpine RUN /usr/local/bin/install-plugins.sh matrix-auth COPY init.groovy.d/* /usr/share/jenkins/ref/init.groovy.d/ COPY config.xml /usr/share/jenkins/ref/ See https://github.com/sradi/jenkins-provisioning-problem/tree/e073854ecd0e017d53f804c45a971399080efb46 When I only keep the plugin installation in my Dockerfile and remove any init script, the problem again, does NOT occur. See https://github.com/sradi/jenkins-provisioning-problem/tree/d1a8b5a70016701db2559804896a77921b67ab17 *Summary*: As soon as I use an init script, that e. g. changes my numer of executors AND use install-plugins.sh in my Dockerfile, the problem occurs. The problem can be reproduced, if you checkout the different commits of the repository, mentioned above, and run the following commands: docker build --rm -t jenkinsproblem:latest . docker run -p 8080:8080 -p 50000:50000 -d --name jenkinsproblem_1 jenkinsproblem # run this several times, until you see, that numExecutors is changed to '0'. If 'disableSignup' changed from 'false' to 'true' the problem is reproduced. docker exec jenkinsproblem_1 cat /var/jenkins_home/config.xml Hope, anyone can help me. Is this a bug? Thanks a lot and best regards Stefan Am Montag, 19. Dezember 2016 17:59:21 UTC+1 schrieb Mark Waite: > > Since you're adding the configuration in your Dockerfile, it should be > there when the docker image is created. Since you can see it for the first > few seconds in the running image, I think that means the jenkins.sh startup > process which copies from "ref" to "/var/jenkins_home" did what it was > expected to do (though there is a risk you're seeing it before jenkins.sh > copies in the file from ref/config.xml). > > Since a change is happening after jenkins.sh has copied the ref content > into the runtime location, I assume it must be something other than the > jenkins.sh startup process which is replacing your modified ref/config.xml > file with a different config.xml file. However, I don't know of anything > after that which could make that type of change. > > Are you entirely sure that the modified file is in the /var/jenkins_home > directory even after the jenkins.sh script has run? > > I regularly use a modified config.xml to configure a Jenkins Docker > instance, and it has worked quite well for me. If you'd like to compare > how mine is configured, you could look at > https://github.com/MarkEWaite/docker/blob/lts-with-plugins/ref/config.xml > . > > Thanks, > Mark Waite > > On Mon, Dec 19, 2016 at 12:27 AM Stefan Rademacher <radema...@gmail.com > <javascript:>> wrote: > >> Hi there, >> >> I am currently working on a Docker image, that is derived from >> jenkins:alpine. >> In my Dockerfile I copy a config.xml in the the reference content >> directory (/usr/share/jenkins/ref) and add some xml content with >> Ansible-XML. (The content added, is a cloud configuration for a Docker host) >> >> After starting my container, I can see my config.xml in /var/jenkins_home >> for a couple of seconds. >> After that, it is overwritten with a default config.xml. This seems to >> happen, some time during the start of the server. The problem cannot even >> be solved by using the filename config.xml.override, as suggested in the >> docs of the official docker image. >> >> Weirdly, I can’t reproduce this error, when I start Jenkins without >> docker. In that case, my custom config.xml is kept as is on the first start >> of Jenkins. >> >> In Jenkins.java ( >> https://github.com/jenkinsci/jenkins/blob/3e2e01717976a1f1221874bfd576429c5c48b8a6/core/src/main/java/jenkins/model/Jenkins.java#L3015) >> >> I can’t find anything, that explains the overwriting of my config.xml. >> >> Does anyone have an idea, why this happens? >> >> Thanks and best regards >> Stefan Rademacher >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Jenkins Users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to jenkinsci-use...@googlegroups.com <javascript:>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/jenkinsci-users/3CA43885-85DD-4530-9FC8-9F2465F949FD%40gmail.com >> >> <https://groups.google.com/d/msgid/jenkinsci-users/3CA43885-85DD-4530-9FC8-9F2465F949FD%40gmail.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > -- You received this message because you are subscribed to the Google Groups "Jenkins Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/8027cc17-e759-498f-acf8-4bb512d92851%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.