mirror of
https://ops.gitlab.net/gitlab-org/gitlab-build-images.git
synced 2025-12-09 10:02:56 +01:00
Update to Debian bullseye
This commit is contained in:
parent
cc18fe8b5b
commit
27c59b7e27
10 changed files with 50 additions and 15 deletions
|
|
@ -2,7 +2,8 @@
|
||||||
.gitaly-matrix:
|
.gitaly-matrix:
|
||||||
parallel:
|
parallel:
|
||||||
matrix:
|
matrix:
|
||||||
- RUBY: ['2.7', '3.0']
|
- DEBIAN: ['bullseye']
|
||||||
|
RUBY: ['2.7', '3.0']
|
||||||
GOLANG: ['1.16', '1.17']
|
GOLANG: ['1.16', '1.17']
|
||||||
GIT: ['2.31', '2.33']
|
GIT: ['2.31', '2.33']
|
||||||
PGBOUNCER: ['1.14', '']
|
PGBOUNCER: ['1.14', '']
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,8 @@
|
||||||
GRAPHICSMAGICK: '1.3.36'
|
GRAPHICSMAGICK: '1.3.36'
|
||||||
parallel:
|
parallel:
|
||||||
matrix:
|
matrix:
|
||||||
- RUBY: ['2.7.patched', '3.0.patched']
|
- DEBIAN: ['bullseye']
|
||||||
|
RUBY: ['2.7.patched', '3.0.patched']
|
||||||
GIT: ['2.33']
|
GIT: ['2.33']
|
||||||
POSTGRESQL: ['11', '12', '13']
|
POSTGRESQL: ['11', '12', '13']
|
||||||
GOLANG: ['1.16', '1.17']
|
GOLANG: ['1.16', '1.17']
|
||||||
|
|
|
||||||
|
|
@ -54,8 +54,9 @@ RUN if [ -n "$LFS_VERSION" ]; then /scripts/install-lfs && git lfs --version; fi
|
||||||
|
|
||||||
# Postgres
|
# Postgres
|
||||||
ARG POSTGRES_VERSION
|
ARG POSTGRES_VERSION
|
||||||
|
ARG DEBIAN_VERSION
|
||||||
|
|
||||||
RUN if [ -n "$POSTGRES_VERSION" ] ; then /scripts/install-postgresql $POSTGRES_VERSION; fi
|
RUN if [ -n "$POSTGRES_VERSION" ] ; then /scripts/install-postgresql $POSTGRES_VERSION $DEBIAN_VERSION; fi
|
||||||
|
|
||||||
# GraphicsMagick
|
# GraphicsMagick
|
||||||
ARG GRAPHISMAGICK_VERSION
|
ARG GRAPHISMAGICK_VERSION
|
||||||
|
|
@ -66,8 +67,9 @@ RUN if [ -n "$GRAPHISMAGICK_VERSION" ]; then /scripts/install-graphicsmagick &&
|
||||||
|
|
||||||
# Docker
|
# Docker
|
||||||
ARG DOCKER_VERSION
|
ARG DOCKER_VERSION
|
||||||
|
ARG DEBIAN_VERSION
|
||||||
|
|
||||||
RUN if [ -n "$DOCKER_VERSION" ]; then /scripts/install-docker $DOCKER_VERSION; fi
|
RUN if [ -n "$DOCKER_VERSION" ]; then /scripts/install-docker $DOCKER_VERSION $DEBIAN_VERSION; fi
|
||||||
|
|
||||||
# PgBouncer
|
# PgBouncer
|
||||||
ARG PGBOUNCER_VERSION
|
ARG PGBOUNCER_VERSION
|
||||||
|
|
@ -98,4 +100,5 @@ ENV RUBY_VERSION=${RUBY_VERSION} \
|
||||||
GRAPHISMAGICK_VERSION=${GRAPHISMAGICK_VERSION} \
|
GRAPHISMAGICK_VERSION=${GRAPHISMAGICK_VERSION} \
|
||||||
DOCKER_VERSION=${DOCKER_VERSION} \
|
DOCKER_VERSION=${DOCKER_VERSION} \
|
||||||
PGBOUNCER_VERSION=${PGBOUNCER_VERSION} \
|
PGBOUNCER_VERSION=${PGBOUNCER_VERSION} \
|
||||||
BAZELISK_VERSION=${BAZELISK_VERSION}
|
BAZELISK_VERSION=${BAZELISK_VERSION} \
|
||||||
|
DEBIAN_VERSION=${DEBIAN_VERSION}
|
||||||
|
|
|
||||||
|
|
@ -249,6 +249,7 @@ function parse_arguments() {
|
||||||
if [ -n "${!tool}" ]; then
|
if [ -n "${!tool}" ]; then
|
||||||
version="${!tool}"
|
version="${!tool}"
|
||||||
case "$tool" in
|
case "$tool" in
|
||||||
|
DEBIAN) CUSTOM_IMAGE_VERSION=$version ;;
|
||||||
RUBY) print_ruby_args $version ;;
|
RUBY) print_ruby_args $version ;;
|
||||||
GOLANG) print_golang_args $version ;;
|
GOLANG) print_golang_args $version ;;
|
||||||
CHROME) print_chrome_args $version ;;
|
CHROME) print_chrome_args $version ;;
|
||||||
|
|
@ -268,6 +269,7 @@ function parse_arguments() {
|
||||||
|
|
||||||
printf -- "--build-arg CUSTOM_IMAGE_NAME=%s " "$CUSTOM_IMAGE_NAME"
|
printf -- "--build-arg CUSTOM_IMAGE_NAME=%s " "$CUSTOM_IMAGE_NAME"
|
||||||
printf -- "--build-arg CUSTOM_IMAGE_VERSION=%s " "$CUSTOM_IMAGE_VERSION"
|
printf -- "--build-arg CUSTOM_IMAGE_VERSION=%s " "$CUSTOM_IMAGE_VERSION"
|
||||||
|
printf -- "--build-arg DEBIAN_VERSION=%s " "$CUSTOM_IMAGE_VERSION"
|
||||||
}
|
}
|
||||||
|
|
||||||
function generate_command() {
|
function generate_command() {
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ set -xeuo pipefail
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
DOCKER_VERSION=${1}
|
DOCKER_VERSION=${1}
|
||||||
|
DEBIAN_VERSION=${2:-buster}
|
||||||
|
|
||||||
apt-get update
|
apt-get update
|
||||||
apt-get -y install \
|
apt-get -y install \
|
||||||
|
|
@ -16,7 +17,7 @@ apt-get -y install \
|
||||||
curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
|
curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
|
||||||
|
|
||||||
|
|
||||||
echo "deb [arch=amd64] https://download.docker.com/linux/debian stretch stable" >> /etc/apt/sources.list.d/docker.list
|
echo "deb [arch=amd64] https://download.docker.com/linux/debian ${DEBIAN_VERSION} stable" >> /etc/apt/sources.list.d/docker.list
|
||||||
apt-get update
|
apt-get update
|
||||||
|
|
||||||
PACKAGE_VERSION=$(apt-cache policy docker-ce | awk -v dv=${DOCKER_VERSION}~ '$1 ~ dv {print $1}')
|
PACKAGE_VERSION=$(apt-cache policy docker-ce | awk -v dv=${DOCKER_VERSION}~ '$1 ~ dv {print $1}')
|
||||||
|
|
|
||||||
|
|
@ -10,9 +10,7 @@ apt-get update
|
||||||
# We install `git-core` as some tooling expect `/usr/bin/git`
|
# We install `git-core` as some tooling expect `/usr/bin/git`
|
||||||
# other tools that rely on PATH ordering will pick a one in `/usr/local`
|
# other tools that rely on PATH ordering will pick a one in `/usr/local`
|
||||||
# if present
|
# if present
|
||||||
|
function install_debian_stretch_deps() {
|
||||||
if grep "Debian GNU/Linux 9" /etc/issue
|
|
||||||
then
|
|
||||||
apt-get install -y \
|
apt-get install -y \
|
||||||
curl wget build-essential apt-utils locales openssh-client \
|
curl wget build-essential apt-utils locales openssh-client \
|
||||||
libssl-dev libyaml-dev libreadline6-dev zlib1g-dev \
|
libssl-dev libyaml-dev libreadline6-dev zlib1g-dev \
|
||||||
|
|
@ -23,7 +21,9 @@ then
|
||||||
libkrb5-dev postgresql-client mysql-client unzip \
|
libkrb5-dev postgresql-client mysql-client unzip \
|
||||||
libsqlite3-dev libpq-dev libpng-dev libjpeg-dev libzstd-dev \
|
libsqlite3-dev libpq-dev libpng-dev libjpeg-dev libzstd-dev \
|
||||||
libre2-dev libevent-dev gettext rsync git-core
|
libre2-dev libevent-dev gettext rsync git-core
|
||||||
else
|
}
|
||||||
|
|
||||||
|
function install_debian_buster_deps() {
|
||||||
apt-get install -y \
|
apt-get install -y \
|
||||||
curl wget build-essential apt-utils locales openssh-client \
|
curl wget build-essential apt-utils locales openssh-client \
|
||||||
libssl-dev libyaml-dev libreadline-dev zlib1g-dev \
|
libssl-dev libyaml-dev libreadline-dev zlib1g-dev \
|
||||||
|
|
@ -33,7 +33,33 @@ else
|
||||||
libkrb5-dev postgresql-client unzip \
|
libkrb5-dev postgresql-client unzip \
|
||||||
libsqlite3-dev libpq-dev libpng-dev libjpeg-dev libzstd-dev \
|
libsqlite3-dev libpq-dev libpng-dev libjpeg-dev libzstd-dev \
|
||||||
libre2-dev libevent-dev gettext rsync git-core
|
libre2-dev libevent-dev gettext rsync git-core
|
||||||
fi
|
}
|
||||||
|
|
||||||
|
function install_debian_bullseye_deps() {
|
||||||
|
apt-get install -y \
|
||||||
|
curl wget build-essential apt-utils locales openssh-client \
|
||||||
|
libssl-dev libyaml-dev libreadline-dev zlib1g-dev \
|
||||||
|
libncurses5-dev libffi-dev ca-certificates libxml2-dev \
|
||||||
|
libxslt1-dev libcurl4-openssl-dev libicu-dev \
|
||||||
|
logrotate python3-docutils pkg-config cmake \
|
||||||
|
libkrb5-dev postgresql-client unzip \
|
||||||
|
libsqlite3-dev libpq-dev libpng-dev libjpeg-dev libzstd-dev \
|
||||||
|
libre2-dev libevent-dev gettext rsync git-core
|
||||||
|
}
|
||||||
|
|
||||||
|
VERSION=`cat /etc/issue | cut -d ' ' -f 3`
|
||||||
|
|
||||||
|
case "$VERSION" in
|
||||||
|
9)
|
||||||
|
install_debian_stretch_deps
|
||||||
|
;;
|
||||||
|
10)
|
||||||
|
install_debian_buster_deps
|
||||||
|
;;
|
||||||
|
11)
|
||||||
|
install_debian_bullseye_deps
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
# Set UTF-8
|
# Set UTF-8
|
||||||
# http://stackoverflow.com/a/3182519/2137281
|
# http://stackoverflow.com/a/3182519/2137281
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ curl -sS -L https://deb.nodesource.com/setup_${NODE_MAJOR} | bash -
|
||||||
|
|
||||||
apt-get update
|
apt-get update
|
||||||
|
|
||||||
NODE_FILE_NAME="nodejs_$NODE_INSTALL_VERSION-1nodesource1_amd64.deb"
|
NODE_FILE_NAME="nodejs_$NODE_INSTALL_VERSION-deb-1nodesource1_amd64.deb"
|
||||||
curl -s -O "https://deb.nodesource.com/node_$NODE_MAJOR/pool/main/n/nodejs/$NODE_FILE_NAME"
|
curl -s -O "https://deb.nodesource.com/node_$NODE_MAJOR/pool/main/n/nodejs/$NODE_FILE_NAME"
|
||||||
dpkg -i "$NODE_FILE_NAME"
|
dpkg -i "$NODE_FILE_NAME"
|
||||||
rm -f "$NODE_FILE_NAME"
|
rm -f "$NODE_FILE_NAME"
|
||||||
|
|
|
||||||
|
|
@ -3,10 +3,11 @@ set -xeuo pipefail
|
||||||
IFS=$'\n\t'
|
IFS=$'\n\t'
|
||||||
|
|
||||||
POSTGRES_VERSION=${1:-12}
|
POSTGRES_VERSION=${1:-12}
|
||||||
|
DEBIAN_VERSION=${2:-buster}
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
curl -sS -L https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
|
curl -sS -L https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
|
||||||
echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" | tee /etc/apt/sources.list.d/postgresql.list
|
echo "deb http://apt.postgresql.org/pub/repos/apt/ ${DEBIAN_VERSION}-pgdg main" | tee /etc/apt/sources.list.d/postgresql.list
|
||||||
|
|
||||||
apt-get update
|
apt-get update
|
||||||
apt-get install -y postgresql-client-${POSTGRES_VERSION}
|
apt-get install -y postgresql-client-${POSTGRES_VERSION}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
set -xeou pipefail
|
set -xeou pipefail
|
||||||
|
|
||||||
# Based on https://github.com/docker-library/ruby/blob/master/2.7/buster/Dockerfile
|
# Based on https://github.com/docker-library/ruby/blob/master/2.7/bullseye/Dockerfile
|
||||||
|
|
||||||
RUBY_VERSION=${1}
|
RUBY_VERSION=${1}
|
||||||
RUBY_MAJOR=${1%.*} # strip last component
|
RUBY_MAJOR=${1%.*} # strip last component
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
TOOLS=(RUBY GOLANG GIT LFS CHROME NODE YARN POSTGRESQL GRAPHICSMAGICK PGBOUNCER BAZELISK)
|
TOOLS=(DEBIAN RUBY GOLANG GIT LFS CHROME NODE YARN POSTGRESQL GRAPHICSMAGICK PGBOUNCER BAZELISK)
|
||||||
|
|
||||||
function get_image_name(){
|
function get_image_name(){
|
||||||
local IMAGE_NAME
|
local IMAGE_NAME
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue