Jenkins-setup / Dockerfile
MohitGupta41
Initial Jenkins commit
3044235
FROM jenkins/jenkins:lts-jdk21
ENV JAVA_OPTS="-Djenkins.install.runSetupWizard=false"
ENV CASC_JENKINS_CONFIG=/usr/share/jenkins/ref/jenkins.yaml
# Preinstall plugins
COPY plugins.txt /usr/share/jenkins/ref/plugins.txt
RUN jenkins-plugin-cli --plugin-file /usr/share/jenkins/ref/plugins.txt
# Seed JCasC
COPY jenkins.yaml /usr/share/jenkins/ref/jenkins.yaml
# ---- system tools needed by your pipeline ----
USER root
RUN set -eux; \
apt-get update && apt-get install -y --no-install-recommends \
curl git git-lfs python3 python3-venv python3-pip ca-certificates gnupg apt-transport-https \
&& curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
&& apt-get install -y --no-install-recommends nodejs \
&& npm i -g vercel \
&& curl -fsSL -o /tmp/packages-microsoft-prod.deb https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb \
&& dpkg -i /tmp/packages-microsoft-prod.deb \
&& apt-get update && apt-get install -y --no-install-recommends powershell \
&& rm -rf /var/lib/apt/lists/* /tmp/packages-microsoft-prod.deb
# launcher script
COPY start.sh /usr/local/bin/start.sh
RUN sed -i 's/\r$//' /usr/local/bin/start.sh && chmod 0755 /usr/local/bin/start.sh
USER jenkins
ENTRYPOINT ["/usr/local/bin/start.sh"]