I have following Dockerfile:
FROM jenkins/jenkins:lts
SHELL ["/bin/bash", "-c"]
ENV PROJECT_NAME Jira
ENV PROJECT_GIT_URL some_link_to_repo
COPY plugins.txt /usr/share/jenkins/ref/plugins.txt
COPY custom-template.groovy /usr/share/jenkins/ref/init.groovy.d/
COPY ldap-config-template.groovy /usr/share/jenkins/ref/init.groovy.d/
COPY job-dsl-template.groovy /var/jenkins_home/dsl/
COPY id_rsa /tmp/
USER root
RUN apt-get update ;\
apt-get -y install gettext-base ;\
cat /var/jenkins_home/dsl/job-dsl-template.groovy | envsubst > /var/jenkins_home/dsl/job-dsl.groovy ;\
rm -v /var/jenkins_home/dsl/job-dsl-template.groovy
USER jenkins
#RUN /usr/local/bin/install-plugins.sh < /usr/share/jenkins/ref/plugins.txt
In jenkins/jenkins:lts
there's a volume mounted in /var/jenkins_home
.
Commands
cat /var/jenkins_home/dsl/job-dsl-template.groovy | envsubst > /var/jenkins_home/dsl/job-dsl.groovy ;\
and
rm -v /var/jenkins_home/dsl/job-dsl-template.groovy
looks like executed during build but I doesn't see changes made to volume /var/jenkins_home
after that.
File
/var/jenkins_home/dsl/job-dsl.groovy
isn't created
and /var/jenkins_home/dsl/job-dsl-template.groovy
isn't removed, why?
Looks like every change made during docker image build on volume are forgeted after build.