77 lines
2.4 KiB
Docker
77 lines
2.4 KiB
Docker
FROM jenkins/inbound-agent:latest-bookworm-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 apt-get install docker-compose -y --no-install-recommends
|
|
|
|
# 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"]
|