mirror of
https://ops.gitlab.net/gitlab-org/gitlab-build-images.git
synced 2025-12-09 10:02:56 +01:00
bullseye is the latest stable, and this is what we will be using for Cloud Native GitLab going forward so we should test with this. Since an upgrade of the operating system may break pre-compiled C extensions, we now introduce a DEBIAN environment flag that defaults to the legacy buster install but allows us to roll out a bullseye image with `debian-bullseye` as the image name prefix.
104 lines
3.1 KiB
Docker
104 lines
3.1 KiB
Docker
#
|
|
# The arguments in this file are configured in
|
|
# /scripts/custom-docker-build
|
|
#
|
|
|
|
ARG CUSTOM_IMAGE_NAME
|
|
ARG CUSTOM_IMAGE_VERSION
|
|
FROM ${CUSTOM_IMAGE_NAME}:${CUSTOM_IMAGE_VERSION}
|
|
|
|
ADD / /
|
|
|
|
RUN /scripts/install-essentials
|
|
|
|
ENV PATH $PATH:/usr/local/go/bin
|
|
|
|
# Ruby
|
|
ARG RUBY_VERSION
|
|
ARG RUBY_DOWNLOAD_SHA256
|
|
|
|
RUN if [ -n "$RUBY_VERSION" ]; then /scripts/install-ruby $RUBY_VERSION $RUBY_DOWNLOAD_SHA256 && ruby --version; fi
|
|
|
|
# Git
|
|
ARG GIT_VERSION
|
|
ARG GIT_DOWNLOAD_URL
|
|
ARG GIT_DOWNLOAD_SHA256
|
|
|
|
RUN if [ -n "$GIT_VERSION" ]; then /scripts/install-pcre2 && pcre2-config --version; fi
|
|
RUN if [ -n "$GIT_VERSION" ]; then /scripts/install-git && git --version; fi
|
|
|
|
# Chrome
|
|
ARG CHROME_VERSION
|
|
ARG CHROME_DRIVER_VERSION
|
|
|
|
RUN if [ -n "$CHROME_VERSION" ]; then /scripts/install-chrome $CHROME_VERSION $CHROME_DRIVER_VERSION && google-chrome --version; fi
|
|
|
|
# NodeJS and Yarn
|
|
ARG NODE_INSTALL_VERSION
|
|
ARG YARN_INSTALL_VERSION
|
|
|
|
RUN if [ -n "$NODE_INSTALL_VERSION" ] ; then /scripts/install-node $NODE_INSTALL_VERSION $YARN_INSTALL_VERSION && node --version && yarn --version; fi
|
|
|
|
# Golang
|
|
ARG INSTALL_GOLANG_VERSION
|
|
ARG GOLANG_DOWNLOAD_SHA256
|
|
|
|
RUN if [ -n "$INSTALL_GOLANG_VERSION" ] ; then /scripts/install-golang "${INSTALL_GOLANG_VERSION}" "${GOLANG_DOWNLOAD_SHA256}" && go version; fi
|
|
|
|
# Git LFS (https://git-lfs.github.com/)
|
|
ARG LFS_VERSION
|
|
ARG LFS_DOWNLOAD_URL=https://github.com/git-lfs/git-lfs/releases/download/v${LFS_VERSION}/git-lfs-linux-amd64-v${LFS_VERSION}.tar.gz
|
|
ARG LFS_DOWNLOAD_SHA256
|
|
|
|
RUN if [ -n "$LFS_VERSION" ]; then /scripts/install-lfs && git lfs --version; fi
|
|
|
|
# Postgres
|
|
ARG POSTGRES_VERSION
|
|
ARG DEBIAN_VERSION
|
|
|
|
RUN if [ -n "$POSTGRES_VERSION" ] ; then /scripts/install-postgresql $POSTGRES_VERSION $DEBIAN_VERSION; fi
|
|
|
|
# GraphicsMagick
|
|
ARG GRAPHISMAGICK_VERSION
|
|
ARG GRAPHISMAGICK_DOWNLOAD_URL=https://sourceforge.net/projects/graphicsmagick/files/graphicsmagick/${GRAPHISMAGICK_VERSION}/GraphicsMagick-${GRAPHISMAGICK_VERSION}.tar.gz
|
|
ARG GRAPHISMAGICK_DOWNLOAD_SHA256
|
|
|
|
RUN if [ -n "$GRAPHISMAGICK_VERSION" ]; then /scripts/install-graphicsmagick && gm version; fi
|
|
|
|
# Docker
|
|
ARG DOCKER_VERSION
|
|
ARG DEBIAN_VERSION
|
|
|
|
RUN if [ -n "$DOCKER_VERSION" ]; then /scripts/install-docker $DOCKER_VERSION $DEBIAN_VERSION; fi
|
|
|
|
# PgBouncer
|
|
ARG PGBOUNCER_VERSION
|
|
ARG PGBOUNCER_DOWNLOAD_SHA256
|
|
|
|
RUN if [ -n "$PGBOUNCER_VERSION" ] ; then /scripts/install-pgbouncer $PGBOUNCER_VERSION $PGBOUNCER_DOWNLOAD_SHA256; fi
|
|
|
|
# Bazelisk
|
|
ARG BAZELISK_VERSION
|
|
ARG BAZELISK_DOWNLOAD_SHA256
|
|
|
|
RUN if [ -n "$BAZELISK_VERSION" ] ; then /scripts/install-bazelisk $BAZELISK_VERSION $BAZELISK_DOWNLOAD_SHA256; fi
|
|
|
|
RUN locale-gen C.UTF-8
|
|
ENV LANG=C.UTF-8 \
|
|
LANGUAGE=C \
|
|
LC_ALL=C.UTF-8
|
|
|
|
# Set as env variables all versions configured
|
|
ENV RUBY_VERSION=${RUBY_VERSION} \
|
|
GIT_VERSION=${GIT_VERSION} \
|
|
CHROME_VERSION=${CHROME_VERSION} \
|
|
NODE_VERSION=${NODE_INSTALL_VERSION} \
|
|
YARN_VERSION=${YARN_INSTALL_VERSION} \
|
|
GOLANG_VERSION=${INSTALL_GOLANG_VERSION} \
|
|
LFS_VERSION=${LFS_VERSION} \
|
|
POSTGRES_VERSION=${POSTGRES_VERSION} \
|
|
GRAPHISMAGICK_VERSION=${GRAPHISMAGICK_VERSION} \
|
|
DOCKER_VERSION=${DOCKER_VERSION} \
|
|
PGBOUNCER_VERSION=${PGBOUNCER_VERSION} \
|
|
BAZELISK_VERSION=${BAZELISK_VERSION} \
|
|
DEBIAN_VERSION=${DEBIAN_VERSION}
|