I'm trying to install the Jenkins plugins before I launch it on the server. In my code I have installed java, maven, git etc, then downloads Jenkins.war which I can launch it in the server using "docker run -p 8080:8080 <image>"
Then I thought of installing plugins before I launch it, and a written script that downloads install the plugin.sh, file and copies plugin.txt file to .sh and make install.
Here is my code,
FROM ubuntu:14.04
# Install Java.
RUN \
echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | debconf-set-selections && \
apt-get update && \
apt-get upgrade -y && \
apt-get install -y software-properties-common && \
add-apt-repository ppa:webupd8team/java -y && \
apt-get update && \
apt-get install -y oracle-java8-installer && \
rm -rf /var/lib/apt/lists/* && \
rm -rf /var/cache/oracle-jdk8-installer
# Define commonly used JAVA_HOME variable
ENV JAVA_HOME /usr/lib/jvm/java-8-oracle
# get maven 3.2.2 and verify its checksum
RUN wget --no-verbose -O /tmp/apache-maven-3.2.2.tar.gz http://archive.apache.org/dist/maven/maven-3/3.2.2/binaries/apache-maven-3.2.2-bin.tar.gz; \
echo "87e5cc81bc4ab9b83986b3e77e6b3095 /tmp/apache-maven-3.2.2.tar.gz" | md5sum -c
ARG BASE_URL=https://apache.osuosl.org/maven/ven-3/${MAVEN_VERSION}/binaries
# install maven
RUN tar xzf /tmp/apache-maven-3.2.2.tar.gz -C /opt/; \
ln -s /opt/apache-maven-3.2.2 /opt/maven; \
ln -s /opt/maven/bin/mvn /usr/local/bin; \
rm -f /tmp/apache-maven-3.2.2.tar.gz
ENV MAVEN_HOME /opt/maven
# Install dependencies
RUN apt-get -y update && \
apt-get -yqq --no-install-recommends install bash git bzip2 curl unzip && \
apt-get update
# copy jenkins war file to the container
#ADD http://mirrors.jenkins.io/war-stable/2.107.1/jenkins.war /opt/jenkins.war
COPY jenkins.war /opt/jenkins.war
ENV JENKINS_HOME /jenkins
# configure the container to run jenkins, mapping container port 8080 to that host port
RUN mkdir /jenkins/
COPY proxy.xml /jenkins/proxy.xml
COPY config_updated.xml opt/config_updated.xml
COPY settings.xml /usr/share/maven/conf/settings.xml
ENTRYPOINT ["java","-jar","/opt/jenkins.war"]
ENV JAVA_OPTS="-Djenkins.install.runSetupWizard=false"
#Install plugins
RUN cd /usr/local/bin && curl -L https://raw.githubusercontent.com/hgomez/devops-incubator/master/forge-tricks/batch-install-jenkins-plugins.sh -o batch-install-jenkins-plugins.sh
RUN chmod +x /usr/local/bin/batch-install-jenkins-plugins.sh
COPY /plugins.txt /usr/share/jenkins/ref/plugins.txt
RUN /usr/local/bin/batch-install-jenkins-plugins.sh --plugins /usr/share/jenkins/ref/plugins.txt --excludedplugins /noplugins.txt --plugindir /var/lib/myjenkins/plugins
RUN echo 2.0 > /usr/share/jenkins/ref/jenkins.install.UpgradeWizard.state
THis is what im getting.(below image)
TO check I changed entry point to bash and checked, this is what I have in the container.
Everything I have in the container, but it's not working.
IN the line RUN /usr/local/bin/batch-install-jenkins-plugins.sh --plugins /usr/share/jenkins/ref/plugins.txt --excludedplugins /noplugins.txt --plugindir /var/lib/myjenkins/plugins
What path should I specify in --plugindir i.e what sholud be there in that plugins??