mirror of
https://github.com/VSCodium/vscode-linux-build-agent.git
synced 2025-12-10 21:07:27 -06:00
ci: install docker in bionic images (#39)
This commit is contained in:
parent
77eecc2896
commit
7db8089229
@ -4,6 +4,9 @@ FROM ${REPO}:${TAG}
|
||||
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
RUN groupadd --gid 1000 builduser \
|
||||
&& useradd --uid 1000 --gid builduser --shell /bin/bash --create-home builduser
|
||||
|
||||
# ubuntu keeps its i386/amd64 and other architecture repos separate
|
||||
# the default i386/amd64 packages can be found in http://archive.ubuntu.com while all other architectures are in http://ports.ubuntu.com/
|
||||
# add the required repos for armhf/arm64 and only fetch i386/amd64 from archive.ubuntu.com (to prevent apt from erroring about missing architecture support)
|
||||
@ -33,6 +36,10 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
gnupg \
|
||||
unzip
|
||||
|
||||
# No Sudo Prompt
|
||||
RUN echo 'builduser ALL=NOPASSWD: ALL' >> /etc/sudoers.d/50-builduser \
|
||||
&& echo 'Defaults env_keep += "DEBIAN_FRONTEND"' >> /etc/sudoers.d/env_keep
|
||||
|
||||
# Set python3 as default
|
||||
RUN update-alternatives --install /usr/bin/python python /usr/bin/python3 1
|
||||
RUN python --version
|
||||
@ -42,6 +49,21 @@ RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
|
||||
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
|
||||
RUN apt-get update && apt-get install -y yarn
|
||||
|
||||
# Node.js
|
||||
RUN curl --silent --location https://deb.nodesource.com/setup_16.x | sudo -E bash -
|
||||
RUN apt-get update && apt-get install -y nodejs
|
||||
RUN npm install -g npm@latest
|
||||
RUN npm install -g node-gyp
|
||||
|
||||
# Install docker client
|
||||
RUN sudo mkdir -m 0755 -p /etc/apt/keyrings
|
||||
RUN curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
||||
RUN echo "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||
RUN sudo apt-get update && sudo apt-get install -y docker-ce
|
||||
|
||||
USER builduser
|
||||
WORKDIR /home/builduser
|
||||
|
||||
ENV AS=/usr/bin/aarch64-linux-gnu-as \
|
||||
AR=/usr/bin/aarch64-linux-gnu-ar \
|
||||
CC=/usr/bin/aarch64-linux-gnu-gcc-8 \
|
||||
|
||||
@ -4,6 +4,9 @@ FROM ${REPO}:${TAG}
|
||||
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
RUN groupadd --gid 1000 builduser \
|
||||
&& useradd --uid 1000 --gid builduser --shell /bin/bash --create-home builduser
|
||||
|
||||
# ubuntu keeps its i386/amd64 and other architecture repos separate
|
||||
# the default i386/amd64 packages can be found in http://archive.ubuntu.com while all other architectures are in http://ports.ubuntu.com/
|
||||
# add the required repos for armhf/arm64 and only fetch i386/amd64 from archive.ubuntu.com (to prevent apt from erroring about missing architecture support)
|
||||
@ -33,6 +36,10 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
gnupg \
|
||||
unzip
|
||||
|
||||
# No Sudo Prompt
|
||||
RUN echo 'builduser ALL=NOPASSWD: ALL' >> /etc/sudoers.d/50-builduser \
|
||||
&& echo 'Defaults env_keep += "DEBIAN_FRONTEND"' >> /etc/sudoers.d/env_keep
|
||||
|
||||
# Set python3 as default
|
||||
RUN update-alternatives --install /usr/bin/python python /usr/bin/python3 1
|
||||
RUN python --version
|
||||
@ -42,6 +49,21 @@ RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
|
||||
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
|
||||
RUN apt-get update && apt-get install -y yarn
|
||||
|
||||
# Node.js
|
||||
RUN curl --silent --location https://deb.nodesource.com/setup_16.x | sudo -E bash -
|
||||
RUN apt-get update && apt-get install -y nodejs
|
||||
RUN npm install -g npm@latest
|
||||
RUN npm install -g node-gyp
|
||||
|
||||
# Install docker client
|
||||
RUN sudo mkdir -m 0755 -p /etc/apt/keyrings
|
||||
RUN curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
||||
RUN echo "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||
RUN sudo apt-get update && sudo apt-get install -y docker-ce
|
||||
|
||||
USER builduser
|
||||
WORKDIR /home/builduser
|
||||
|
||||
ENV AS=/usr/bin/arm-linux-gnueabihf-as \
|
||||
AR=/usr/bin/arm-linux-gnueabihf-ar \
|
||||
CC=/usr/bin/arm-linux-gnueabihf-gcc-8 \
|
||||
|
||||
@ -54,30 +54,30 @@ RUN apt-get update && apt-get install -y \
|
||||
&& bash /setup/install-build-deps.sh --no-syms --no-prompt --no-chromeos-fonts --no-arm --no-nacl \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# No Sudo Prompt
|
||||
RUN echo 'builduser ALL=NOPASSWD: ALL' >> /etc/sudoers.d/50-builduser \
|
||||
&& echo 'Defaults env_keep += "DEBIAN_FRONTEND"' >> /etc/sudoers.d/env_keep
|
||||
|
||||
# Yarn
|
||||
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
|
||||
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
|
||||
RUN apt-get update && apt-get install -y yarn
|
||||
|
||||
# No Sudo Prompt
|
||||
RUN echo 'builduser ALL=NOPASSWD: ALL' >> /etc/sudoers.d/50-builduser \
|
||||
&& echo 'Defaults env_keep += "DEBIAN_FRONTEND"' >> /etc/sudoers.d/env_keep
|
||||
|
||||
# Dotnet
|
||||
RUN wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb
|
||||
RUN dpkg -i packages-microsoft-prod.deb
|
||||
RUN apt-get update && apt-get install -y dotnet-sdk-2.1
|
||||
# Node.js
|
||||
RUN curl --silent --location https://deb.nodesource.com/setup_16.x | sudo -E bash -
|
||||
RUN apt-get update && apt-get install -y nodejs
|
||||
RUN npm install -g npm@latest
|
||||
RUN npm install -g node-gyp
|
||||
|
||||
# Set python3 as default
|
||||
RUN update-alternatives --install /usr/bin/python python /usr/bin/python3 1
|
||||
RUN python --version
|
||||
|
||||
# Add xvfb init script
|
||||
COPY xvfb-init.sh /etc/init.d/xvfb
|
||||
RUN chmod a+x /etc/init.d/xvfb
|
||||
|
||||
# Setup dbus path
|
||||
RUN sudo mkdir -p /var/run/dbus
|
||||
# Install docker client
|
||||
RUN sudo mkdir -m 0755 -p /etc/apt/keyrings
|
||||
RUN curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
||||
RUN echo "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||
RUN sudo apt-get update && sudo apt-get install -y docker-ce
|
||||
|
||||
# Check compiler toolchain
|
||||
RUN gcc --version
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user