Leonardo Sandoval | 4cb535c | 2022-01-04 12:07:31 -0600 | [diff] [blame^] | 1 | FROM ubuntu:20.04 |
| 2 | |
| 3 | ENV PKG_DEPS="\ |
| 4 | apt-transport-https \ |
| 5 | ca-certificates \ |
| 6 | curl \ |
| 7 | git \ |
| 8 | gnupg \ |
| 9 | lsb-release \ |
| 10 | openjdk-8-jre-headless \ |
| 11 | python3 \ |
| 12 | python3-venv \ |
| 13 | sudo \ |
| 14 | unzip \ |
| 15 | " |
| 16 | |
| 17 | ENV DOCKER_PKG_DEPS="\ |
| 18 | containerd.io \ |
| 19 | docker-ce \ |
| 20 | docker-ce-cli \ |
| 21 | " |
| 22 | |
| 23 | # Can be overriden at build time |
| 24 | ARG BUILDSLAVE_PASSWORD=buildslave |
| 25 | |
| 26 | RUN set -e ;\ |
| 27 | apt-get -yq update ;\ |
| 28 | apt-get -yq install ${PKG_DEPS} ;\ |
| 29 | curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg ;\ |
| 30 | echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ |
| 31 | $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null ;\ |
| 32 | apt-get update ;\ |
| 33 | apt-get install -yq ${DOCKER_PKGS_DEPS} ;\ |
| 34 | # Setup buildslave user for Jenkins |
| 35 | useradd -m -s /bin/bash buildslave ;\ |
| 36 | echo "buildslave:$BUILDSLAVE_PASSWORD" | chpasswd ;\ |
| 37 | echo 'buildslave ALL = NOPASSWD: ALL' > /etc/sudoers.d/jenkins ;\ |
| 38 | chmod 0440 /etc/sudoers.d/jenkins ;\ |
| 39 | groupadd docker ;\ |
| 40 | usermod -aG docker buildslave ;\ |
| 41 | ln -s $(which python3) /usr/bin/python |