diff --git a/Dockerfile b/Dockerfile index d988461d..4838a840 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,12 +1,27 @@ -FROM jenkins/jenkins:2.414.2-jdk11 +# Use a recent Jenkins LTS version that supports required plugins +FROM jenkins/jenkins:2.452.1-jdk11 + +# Switch to root to install packages USER root -RUN apt-get update && apt-get install -y lsb-release python3-pip -RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \ - https://download.docker.com/linux/debian/gpg -RUN echo "deb [arch=$(dpkg --print-architecture) \ - signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \ - https://download.docker.com/linux/debian \ - $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list -RUN apt-get update && apt-get install -y docker-ce-cli + +# Install dependencies and Docker CLI +RUN apt-get update && \ + apt-get install -y \ + lsb-release \ + python3-pip \ + curl \ + gnupg2 \ + software-properties-common && \ + curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc https://download.docker.com/linux/debian/gpg && \ + echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.asc] https://download.docker.com/linux/debian $(lsb_release -cs) stable" \ + > /etc/apt/sources.list.d/docker.list && \ + apt-get update && \ + apt-get install -y docker-ce-cli && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +# Switch back to the jenkins user USER jenkins -RUN jenkins-plugin-cli --plugins "blueocean:1.25.3 docker-workflow:1.28" \ No newline at end of file + +# Install required Jenkins plugins +RUN jenkins-plugin-cli --plugins "blueocean docker-workflow"