FROM jenkins/inbound-agent:latest-jdk17 USER root # Update APT RUN apt-get update \ && apt-get upgrade -y # Building packages RUN apt-get install -y \ sudo \ libltdl-dev \ libgtk-3-0 \ libdbus-glib-1-2 \ xvfb \ default-mysql-client \ build-essential \ python-is-python3 \ vim \ wget \ curl # Kubernetes client RUN apt-get install -y apt-transport-https ca-certificates curl gnupg \ && curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.26/deb/Release.key \ | gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg \ && chmod 644 /etc/apt/keyrings/kubernetes-apt-keyring.gpg \ && echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.26/deb/ /' \ | tee /etc/apt/sources.list.d/kubernetes.list \ && chmod 644 /etc/apt/sources.list.d/kubernetes.list \ && apt-get update \ && apt-get install -y kubectl # Docker COPY --from=docker:26.1.3-cli /usr/local/bin/docker /usr/local/bin/ # Docker compose RUN curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` \ -o /usr/local/bin/docker-compose \ && chmod +x /usr/local/bin/docker-compose # Puppeteer RUN apt-get install -y --no-install-recommends \ gconf-service libasound2 libatk1.0-0 libc6 \ libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgbm1 \ libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 \ libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 \ libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 \ libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 \ fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils # Firefox RUN cd /opt \ && wget https://ftp.mozilla.org/pub/firefox/releases/64.0.2/linux-x86_64/en-US/firefox-64.0.2.tar.bz2 \ && tar xvjf firefox-64.0.2.tar.bz2 \ && rm firefox-64.0.2.tar.bz2 # Myt RUN apt-get install -y --no-install-recommends \ libkrb5-dev \ libssl-dev # Clean APT RUN rm -rf /var/lib/apt/lists/* # Fix defunct processeses: https://github.com/jenkinsci/docker-inbound-agent/issues/51 ENV TINI_VERSION v0.19.0 RUN wget -O /tini https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini \ && chmod 755 /tini # User RUN echo "jenkins ALL=NOPASSWD: ALL" >> /etc/sudoers \ #&& groupadd -g 998 docker \ && usermod -a -G 998 jenkins USER jenkins ENTRYPOINT ["/tini", "--", "/usr/local/bin/jenkins-agent"]