mirror of
https://ops.gitlab.net/gitlab-org/gitlab-build-images.git
synced 2025-12-09 10:02:56 +01:00
Gitaly is using PgBouncer in its CI pipelines to verify that Praefect works alright with this proxy for Postgres. While it was initially using the PgBouncer binary directly, the project has since migrate to set up PgBouncer as a service via a separate image in 0e5953177 (ci: Tie in PgBouncer as a service, 2021-12-03). Since then the PgBouncer executable is not needed anymore in the image used by Gitaly. Stop installing PgBouncer and remove the architecture we have to build and install it.
127 lines
3.8 KiB
Docker
127 lines
3.8 KiB
Docker
#
|
|
# The arguments in this file are configured in
|
|
# /scripts/custom-docker-build
|
|
#
|
|
|
|
ARG CUSTOM_BASE_IMAGE
|
|
FROM ${CUSTOM_BASE_IMAGE}
|
|
|
|
# We are setting this ARG again because it is required in install-essentials
|
|
# script. ARG defined before FROM can't be used afterwards.
|
|
# Check https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact
|
|
ARG CUSTOM_BASE_IMAGE
|
|
|
|
ADD / /
|
|
|
|
RUN /scripts/install-essentials ${CUSTOM_BASE_IMAGE}
|
|
|
|
ENV PATH $PATH:/usr/local/go/bin
|
|
|
|
# Ruby
|
|
ARG RUBY_VERSION
|
|
ARG RUBY_DOWNLOAD_SHA256
|
|
ARG BUNDLER_VERSION
|
|
ARG RUBYGEMS_VERSION
|
|
|
|
RUN if [ -n "$RUBY_VERSION" ]; then /scripts/install-ruby "$RUBY_VERSION" "$RUBY_DOWNLOAD_SHA256" "$BUNDLER_VERSION" "$RUBYGEMS_VERSION" && 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
|
|
|
|
RUN if [ -n "$CHROME_VERSION" ]; then /scripts/install-chrome $CHROME_VERSION && ( google-chrome --version || chromium --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_SHA256
|
|
|
|
RUN if [ -n "$LFS_VERSION" ]; then /scripts/install-lfs && git lfs --version; fi
|
|
|
|
# Postgres
|
|
ARG POSTGRES_VERSION
|
|
|
|
RUN if [ -n "$POSTGRES_VERSION" ] ; then /scripts/install-postgresql $POSTGRES_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
|
|
|
|
RUN if [ -n "$DOCKER_VERSION" ]; then /scripts/install-docker $DOCKER_VERSION; fi
|
|
|
|
# Docker buildx plugin
|
|
ARG BUILDX_VERSION
|
|
ARG BUILDX_DOWNLOAD_SHA256
|
|
|
|
RUN if [ -n "$BUILDX_VERSION" ]; then /scripts/install-buildx $BUILDX_VERSION $BUILDX_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
|
|
|
|
# Google-cloud-sdk
|
|
ARG GCLOUD_VERSION
|
|
|
|
RUN if [ -n "$GCLOUD_VERSION" ] ; then /scripts/install-gcloud $GCLOUD_VERSION; fi
|
|
|
|
# Kubectl
|
|
ARG KUBECTL_VERSION
|
|
ARG KUBECTL_DOWNLOAD_SHA256
|
|
|
|
RUN if [ -n "$KUBECTL_VERSION" ] ; then /scripts/install-kubectl $KUBECTL_VERSION $KUBECTL_DOWNLOAD_SHA256; fi
|
|
|
|
# Helm
|
|
ARG HELM_VERSION
|
|
ARG HELM_DOWNLOAD_SHA256
|
|
|
|
RUN if [ -n "$HELM_VERSION" ] ; then /scripts/install-helm $HELM_VERSION $HELM_DOWNLOAD_SHA256; fi
|
|
|
|
RUN locale-gen C.UTF-8
|
|
ENV LANG=C.UTF-8 \
|
|
LANGUAGE=C \
|
|
LC_ALL=C.UTF-8
|
|
|
|
RUN /scripts/validate-binaries-architecture
|
|
|
|
# Set as env variables all versions configured
|
|
ENV RUBY_VERSION=${RUBY_VERSION} \
|
|
RUBYGEMS_VERSION=${RUBYGEMS_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} \
|
|
BAZELISK_VERSION=${BAZELISK_VERSION} \
|
|
GCLOUD_VERSION=${GCLOUD_VERSION} \
|
|
KUBECTL_VERSION=${KUBECTL_VERSION} \
|
|
CUSTOM_BASE_IMAGE=${CUSTOM_BASE_IMAGE}
|