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"]