mirror of
https://ops.gitlab.net/gitlab-org/gitlab-build-images.git
synced 2025-12-09 10:02:56 +01:00
Support building NodeJS in UBI
Signed-off-by: Balasankar "Balu" C <balasankar@gitlab.com>
This commit is contained in:
parent
4b0462b4be
commit
0f5bc500c3
1 changed files with 47 additions and 12 deletions
|
|
@ -8,12 +8,13 @@ YARN_INSTALL_VERSION=${2:-1.22.17}
|
|||
# Map MAJOR.MINOR.patch -> MAJOR.x
|
||||
NODE_MAJOR=`echo $NODE_INSTALL_VERSION | sed -r -e "s/([0-9]+)\.[0-9]+.*/\1\.x/g"`
|
||||
|
||||
function build_debian() {
|
||||
# add official debian repos for node
|
||||
curl -sS -L https://deb.nodesource.com/setup_${NODE_MAJOR} | bash -
|
||||
|
||||
apt-get update
|
||||
|
||||
NODE_FILE_NAME="nodejs_$NODE_INSTALL_VERSION-deb-1nodesource1_$(dpkg --print-architecture).deb"
|
||||
NODE_FILE_NAME="nodejs_$NODE_INSTALL_VERSION-deb-1nodesource1_${BUILD_ARCH}.deb"
|
||||
curl -s -O "https://deb.nodesource.com/node_$NODE_MAJOR/pool/main/n/nodejs/$NODE_FILE_NAME"
|
||||
dpkg -i "$NODE_FILE_NAME"
|
||||
rm -f "$NODE_FILE_NAME"
|
||||
|
|
@ -24,3 +25,37 @@ npm cache clean --force
|
|||
apt-get autoremove -yq
|
||||
apt-get clean -yqq
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
}
|
||||
|
||||
function build_ubi() {
|
||||
# For rpms, node uses `x86_64` suffix and not `amd64`. So we can't use
|
||||
# existing `BUILD_ARCH` (which says amd64/arm64) here.
|
||||
BUILD_ARCH=$(arch)
|
||||
|
||||
UBI_VERSION=$(lsb_release -a | awk '/Release/ { print $2 }')
|
||||
UBI_MAJOR_VERSION=${UBI_VERSION%.*} # strip last component
|
||||
|
||||
# add official rhel repos for node
|
||||
curl -fsSL https://rpm.nodesource.com/setup_${NODE_MAJOR} | bash -
|
||||
|
||||
yum update -y
|
||||
|
||||
NODE_FILE_NAME="nodejs-${NODE_INSTALL_VERSION}-1nodesource.${BUILD_ARCH}.rpm"
|
||||
curl -s -O "https://rpm.nodesource.com/pub_${NODE_MAJOR}/el/${UBI_MAJOR_VERSION}/${BUILD_ARCH}/${NODE_FILE_NAME}"
|
||||
yum install -y "$NODE_FILE_NAME"
|
||||
rm -f "$NODE_FILE_NAME"
|
||||
|
||||
npm install --global yarn@${YARN_INSTALL_VERSION}
|
||||
npm cache clean --force
|
||||
|
||||
yum autoremove -y
|
||||
yum clean -y all
|
||||
}
|
||||
|
||||
BUILD_OS=${BUILD_OS:-debian}
|
||||
|
||||
if [[ $BUILD_OS =~ debian ]]; then
|
||||
build_debian "$@"
|
||||
elif [[ $BUILD_OS =~ ubi ]]; then
|
||||
build_ubi "$@"
|
||||
fi
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue