#!/bin/bash ############################################################################# #### gitlab_update.sh #### #### Version 2.7.7-71123 #### #### #### #### This Script is for updating GitLab and GitLab Runner #### #### #### #### Before running this script you must ensure that you have plenty of #### #### disk space for all migrations to run, also due to amount of time #### #### required for this script to run I recommend using screen so that #### #### you are not timed out when some of the migrations are running #### #### #### #### Questions or Comments Contact: contact@mylinux.work #### ############################################################################# ######################## ### System Variables ### ######################## if [ "$(command -v lsb_release)" ]; then OS=$(lsb_release -i | awk '{print $3}' | tr '[:upper:]' '[:lower:]') OSVER=$(lsb_release -r | awk '{print $2}' | awk -F. '{print $1}') else OS=$(grep PRETTY_NAME /etc/os-release | sed 's/PRETTY_NAME=//g' | tr -d '="' | awk '{print $1}' | tr '[:upper:]' '[:lower:]') OSVER=$(grep VERSION_ID /etc/os-release | sed 's/VERSION_ID=//g' | tr -d '="' | awk -F. '{print $1}') fi ######################################### ### Simple GitLab CE/EE Versions Array ### ########################################## a1=(12.0.0 12.0.0-ee 12.0.1 12.0.1-ee 12.0.2 12.0.2-ee 12.0.3 12.0.3-ee 12.0.4 12.0.4-ee 12.0.6 12.0.6-ee 12.0.8 12.0.8-ee) a2=(12.0.12 12.0.12-ee 12.1.0 12.1.0-ee 12.1.1 12.1.1-ee 12.1.2 12.1.2-ee 12.1.3 12.1.3-ee 12.1.4 12.1.4-ee 12.1.6 12.1.6-ee 12.1.8 12.1.8-ee 12.1.9 12.1.9-ee 12.1.11 12.1.11-ee 12.1.12 12.1.12-ee 12.1.13 12.1.13-ee 12.1.14 12.1.14-ee) a3=(12.1.17 12.1.17-ee 12.2.0 12.2.0-ee 12.2.1 12.2.1-ee 12.2.3 12.2.3-ee 12.2.4 12.2.4-ee 12.2.5 12.2.5-ee 12.2.6 12.2.6-ee 12.2.7 12.2.7-ee 12.2.8 12.2.8-ee 12.2.9 12.2.9-ee 12.2.12 12.2.12-ee 12.3.0 12.3.0-ee 12.3.1 12.3.1-ee 12.3.2 12.3.2-ee 12.3.3 12.3.3-ee 12.3.4 12.3.4-ee 12.3.5 12.3.5-ee 12.3.6 12.3.6-ee 12.3.7 12.3.7-ee 12.3.8 12.3.8-ee 12.3.9 12.3.9-ee 12.4.0 12.4.0-ee 12.4.1 12.4.1-ee 12.4.2 12.4.2-ee 12.4.3 12.4.3-ee 12.4.4 12.4.4-ee 12.4.5 12.4.5-ee 12.4.6 12.4.6-ee 12.4.7 12.4.7-ee 12.4.8 12.4.8-ee 12.5.0 12.5.0-ee 12.5.1 12.5.1-ee 12.5.2 12.5.2-ee 12.5.3 12.5.3-ee 12.5.4 12.5.4-ee 12.5.5 12.5.5-ee 12.5.6 12.5.6-ee 12.5.7 12.5.7-ee 12.5.9 12.5.9-ee 12.5.10 12.5.10-ee 12.6.0 12.6.0-ee 12.6.1 12.6.1-ee 12.6.2 12.6.2-ee 12.6.3 12.6.3-ee 12.6.4 12.6.4-ee 12.6.6 12.6.6-ee 12.6.7 12.6.7-ee 12.6.8 12.6.8-ee 12.7.0 12.7.0-ee 12.7.2 12.7.2-ee 12.7.4 12.7.4-ee 12.7.5 12.7.5-ee 12.7.6 12.7.6-ee 12.7.7 12.7.7-ee 12.7.8 12.7.8-ee 12.7.9 12.7.9-ee 12.8.0 12.8.0-ee 12.8.1 12.8.1-ee 12.8.2 12.8.2-ee 12.8.5 12.8.5-ee 12.8.6 12.8.6-ee 12.8.7 12.8.7-ee 12.8.8 12.8.8-ee 12.8.9 12.8.9-ee 12.8.10 12.8.10-ee 12.9.0 12.9.0-ee 12.9.1 12.9.1-ee 12.9.2 12.9.2-ee 12.9.3 12.9.3-ee 12.9.4 12.9.4-ee 12.9.5 12.9.5-ee 12.9.7 12.9.7-ee 12.9.8 12.9.8-ee 12.9.9 12.9.9-ee 12.9.10 12.9.10-ee 12.10.0 12.10.0-ee 12.10.1 12.10.1-ee 12.10.2 12.10.2-ee 12.10.3 12.10.3-ee 12.10.5 12.10.5-ee 12.10.6 12.10.6-ee 12.10.7 12.10.7-ee 12.10.8 12.10.8-ee 12.10.9 12.10.9-ee 12.10.10 12.10.10-ee 12.10.11 12.10.11-ee 12.10.12 12.10.12-ee 12.10.13 12.10.13-ee) a4=(12.10.14 12.10.14-ee 13.0.0 13.0.0-ee 13.0.1 13.0.1-ee 13.0.3 13.0.3-ee 13.0.4 13.0.4-ee 13.0.5 13.0.5-ee 13.0.6 13.0.6-ee 13.0.7 13.0.7-ee 13.0.8 13.0.8-ee 13.0.9 13.0.9-ee 13.0.10 13.0.10-ee 13.0.12 13.0.12-ee 13.0.13 13.0.13-ee) a5=(13.0.14 13.0.14-ee 13.1.0 13.1.0-ee 13.1.1 13.1.1-ee 13.1.2 13.1.2-ee 13.1.3 13.1.3-ee 13.1.4 13.1.4-ee 13.1.5 13.1.5-ee 13.1.6 13.1.6-ee 13.1.7 13.1.7-ee 13.1.8 13.1.8-ee 13.1.9 13.1.9-ee 13.1.10 13.1.10-ee) a6=(13.1.11 13.1.11-ee 13.2.0 13.2.0-ee 13.2.1 13.2.1-ee 13.2.2 13.2.2-ee 13.2.3 13.2.3-ee 13.2.4 13.2.4-ee 13.2.5 13.2.5-ee 13.2.6 13.2.6-ee 13.2.7 13.2.7-ee 13.2.8 13.2.8-ee 13.2.9 13.2.9-ee 13.2.10 13.2.10-ee 13.3.0 13.3.0-ee 13.3.1 13.3.1-ee 13.3.2 13.3.2-ee 13.3.3 13.3.3-ee 13.3.4 13.3.4-ee 13.3.5 13.3.5-ee 13.3.6 13.3.6-ee 13.3.7 13.3.7-ee 13.3.8 13.3.8-ee 13.3.9 13.3.9-ee 13.4.0 13.4.0-ee 13.4.1 13.4.1-ee 13.4.2 13.4.2-ee 13.4.3 13.4.3-ee 13.4.4 13.4.4-ee 13.4.5 13.4.5-ee 13.4.6 13.4.6-ee 13.4.7 13.4.7-ee 13.5.0 13.5.0-ee 13.5.1 13.5.1-ee 13.5.2 13.5.2-ee 13.5.3 13.5.3-ee 13.5.4 13.5.4-ee 13.5.5 13.5.5-ee 13.5.6 13.5.6-ee 13.5.7 13.5.7-ee 13.6.0 13.6.0-ee 13.6.1 13.6.1-ee 13.6.2 13.6.2-ee 13.6.3 13.6.3-ee 13.6.4 13.6.4-ee 13.6.5 13.6.5-ee 13.6.6 13.6.6-ee 13.6.7 13.6.7-ee 13.7.0 13.7.0-ee 13.7.1 13.7.1-ee 13.7.2 13.7.2-ee 13.7.3 13.7.3-ee 13.7.4 13.7.4-ee 13.7.5 13.7.5-ee 13.7.6 13.7.6-ee 13.7.7 13.7.7-ee 13.7.8 13.7.8-ee 13.7.9 13.7.9-ee 13.8.0 13.8.0-ee 13.8.1 13.8.1-ee 13.8.2 13.8.2-ee 13.8.4 13.8.4-ee 13.8.5 13.8.5-ee 13.8.6 13.8.6-ee 13.8.7 13.8.7-ee) a7=(13.8.8 13.8.8-ee 13.9.0 13.9.0-ee 13.9.1 13.9.1-ee 13.9.2 13.9.2-ee 13.9.3 13.9.3-ee 13.9.4 13.9.4-ee 13.9.5 13.9.5-ee 13.9.6 13.9.6-ee 13.9.7 13.9.7-ee 13.10.0 13.10.0-ee 13.10.1 13.10.1-ee 13.10.2 13.10.2-ee 13.10.3 13.10.3-ee 13.10.4 13.10.4-ee 13.10.5 13.10.5-ee 13.11.0 13.11.0-ee 13.11.1 13.11.1-ee 13.11.2 13.11.2-ee 13.11.3 13.11.3-ee 13.11.4 13.11.4-ee 13.11.5 13.11.5-ee 13.11.6 13.11.6-ee 13.11.7 13.11.7-ee 13.12.0 13.12.0-ee 13.12.1 13.12.1-ee 13.12.2 13.12.2-ee 13.12.3 13.12.3-ee 13.12.4 13.12.4-ee 13.12.5 13.12.5-ee 13.12.6 13.12.6-ee 13.12.7 13.12.7-ee 13.12.8 13.12.8-ee 13.12.9 13.12.9-ee 13.12.10 13.12.10-ee 13.12.11 13.12.11-ee 13.12.12 13.12.12-ee) a8=(13.12.15 13.12.15-ee 14.0.0 14.0.0-ee 14.0.1 14.0.1-ee 14.0.2 14.0.2-ee 14.0.3 14.0.3-ee 14.0.4 14.0.4-ee 14.0.5 14.0.5-ee 14.0.6 14.0.6-ee 14.0.7 14.0.7-ee 14.0.8 14.0.8-ee 14.0.9 14.0.9-ee 14.0.10 14.0.10-ee 14.10.11 14.10.11-ee) a9=(14.0.12 14.0.12-ee 14.1.0 14.1.0-ee 14.1.1 14.1.1-ee 14.1.2 14.1.2-ee 14.1.3 14.1.3-ee 14.1.4 14.1.4-ee 14.1.5 14.1.5-ee 14.1.6 14.1.6-ee 14.1.7 14.1.7-ee 14.1.8 14.1.8-ee 14.2.0 14.2.0-ee 14.2.1 14.2.1-ee 14.2.2 14.2.2-ee 14.2.3 14.2.3-ee 14.2.4 14.2.4-ee 14.2.5 14.2.5-ee 14.2.6 14-2.6-ee 14.2.7 14.2.7-ee 14.3.0 14.3.0-ee 14.3.1 14.3.1-ee 14.3.2 14.3.2-ee 14.3.3 14.3.3-ee 14.3.4 14.3.4-ee 14.3.5 14.3.5-ee) a10=(14.3.6 14.3.6-ee 14.4.0 14.4.0-ee 14.4.1 14.4.1-ee 14.4.2 14.4.2-ee 14.4.3 14.4.3-ee 14.4.4 14.4.4-ee 14.4.5 14.4.5-ee 14.5.0 14.5.0-ee 14.5.1 14.5.1-ee 14.5.2 14.5.2-ee 14.5.3 14.5.3-ee 14.5.4 14.5.4-ee 14.6.0 14.6.0-ee 14.6.1 14.6.1-ee 14.6.2 14.6.2-ee 14.6.3 14.6.3-ee 14.6.4 14.6.4-ee 14.6.5 14.6.5-ee 14.6.6 14.6.6-ee 14.6.7 14.6.7-ee 14.7.0 14.7.0-ee 14.7.1 14.7.1-ee 14.7.2 14.7.2-ee 14.7.3 14.7.3-ee 14.7.4 14.7.4-ee 14.7.5 14.7.5-ee 14.7.6 14.7.6-ee 14.7.7 14.7.7-ee 14.8.0 14.8.0-ee 14.8.1 14.8.1-ee 14.8.2 14.8.2-ee 14.8.3 14.8.3-ee 14.8.4 14.8.4-ee 14.8.5 14.8.5-ee 14.9.0 14.9.0-ee 14.9.1 14.9.1-ee 14.9.2 14.9.2-ee 14.9.3 14.9.3-ee 14.9.4 14.9.4-ee) a11=(14.9.5 14.9.5-ee 14.10.0 14.10.0-ee 14.10.1 14.10.1-ee 14.10.2 14.10.2-ee 14.10.3 14.10.3-ee 14.10.4 14.10.4-ee) a12=(14.10.5 14.10.5-ee 15.0.0 15.0.0-ee 15.0.1 15.0.1-ee 15.0.2 15.0.2-ee 15.0.3 15.0.3-ee 15.0.4 15.0.4-ee) a13=(15.0.5 15.0.5-ee 15.1.0 15.1.0-ee 15.1.1 15.1.1-ee 15.1.2 15.1.2-ee 15.1.3 15.1.3-ee 15.1.4 15.1.4-ee 15.1.5 15.1.5-ee) a14=(15.1.6 15.1.6-ee 15.2.0 15.2.0-ee 15.2.1 15.2.1-ee 15.2.2 15.2.2-ee 15.2.3 15.2.3-ee 15.2.4 15.2.4-ee 15.3.0 15.3.0-ee 15.3.1 15.3.1-ee 15.3.2 15.3.2-ee 15.3.3 15.3.3-ee 15.3.4 15.3.4-ee 15.3.5 15.3.5-ee 15.4.0 15.4.0-ee 15.4.2 15.4.2-ee 15.4.3 15.4.3-ee 15.4.4 15.4.4-ee 15.4.5 15.4.5-ee) a15=(15.4.6 15.4.6-ee 15.5.0 15.5.0-ee 15.5.1 15.5.1-ee 15.5.2 15.5.2-ee 15.5.3 15.5.3-ee 15.5.4 15.5.4-ee 15.5.5 15.5.5-ee 15.5.6 15.5.6-ee 15.5.7 15.5.7-ee 15.5.8 15.5.8-ee 15.5.9 15.5.9-ee 15.6.0 15.6.0-ee 15.6.1 15.6.1-ee 15.6.2 15.6.2-ee 15.6.3 15.6.3-ee 15.6.4 15.6.4-ee 15.6.5 15.6.5-ee 15.6.6 15.6.6-ee 15.6.7 15.6.7-ee 15.6.8 15.6.8-ee 15.7.0 15.7.0-ee 15.7.1 15.7.1-ee 15.7.2 15.7.2-ee 15.7.3 15.7.3-ee 15.7.4 15.7.4-ee 15.7.5 15.7.5-ee 15.7.6 15.7.6-ee 15.7.7 15.7.7-ee 15.7.8 15.7.8-ee 15.7.9 15.7.9-ee 15.8.0 15.8.0-ee 15.8.1 15.8.1-ee 15.8.2 15.8.2-ee 15.8.3 15.8.3-ee 15.8.4 15.8.4-ee 15.8.5 15.8.5-ee 15.8.6 15.8.6-ee 15.9.0 15.9.0-ee 15.9.1 15.9.1-ee 15.9.2 15.9.2-ee 15.9.3 15.9.3-ee 15.9.4 15.9.4-ee 15.9.5 15.9.5-ee 15.9.6 15.9.6-ee 15.9.7 15.9.7-ee 15.9.8 15.9.8-ee 15.10.0 15.10.0-ee 15.10.1 15.10.1-ee 15.10.2 15.10.2-ee 15.10.3 15.10.3-ee 15.10.4 15.10.4-ee 15.10.5 15.10.5-ee 15.10.6 15.10.6-ee 15.10.7 15.10.7-ee 15.11.0 15.11.1-ee 15.11.1-ee 15.11.2-ee 15.11.2-ee 15.11.3 15.11.3-ee 15.11.4 15.11.4-ee 15.11.5 15.11.5-ee 15.11.6 15.11.6-ee 15.11.7 15.11.7-ee 15.11.8 15.11.8-ee 15.11.9 15.11.9-ee 15.11.9 15.11.9-ee 15.11.10 15.11.10-ee 15.11.11 15.11.11-ee 16.0.0 16.0.0-ee 16.0.1 16.0.1-ee 16.0.2 16.0.2-ee 16.0.3 16.0.3-ee 16.0.4 16.0.4-ee 16.0.5 16.0.5-ee 16.0.6 16.0.6-ee 16.0.7 16.0.7-ee 16.1.0 16.1.0-ee 16.1.1 16.1.1-ee) a16=(16.1.2 16.1.2-ee) #################################################### ### Simple Color/Message Functions and Variables ### #################################################### ESC=$(printf '\033') RST="${ESC}[0m" RED="${ESC}[1;31m" RFL="${ESC}[1;31;5;31m" GRN="${ESC}[1;32m" WHT="${ESC}[1;37m" ERR='ERROR!' GME1='There are still' GME2='Queued' GME3='Background' GME4='Migration tasks running' GME5='This script will wait 5 mins before re-checking and continuing with the upgrade' GERR='- GitLab or GitLab Runner does not appear to be installed on this server' MQMS='Checking for Scheduled, Queued and Currently Running Background Migrations' GRM='This script has completed -' GRMS='The Server is running the latest version of' GRMS1='GitLab' GRMS2='GitLab-Runner' RERR='- Please run this script as root' fn_grn() { printf "${GRN}%s${RST}\n" "$1"; } fn_red() { printf "${RED}%s${RST}\n" "$1"; } fn_rfl() { printf "${RFL}%s${RST}\n" "$1"; } fn_wht() { printf "${WHT}%s${RST}\n" "$1"; } fn_runerr() { echo -ne " $(fn_rfl "$ERR") $(fn_red "$RERR") " exit 2 } fn_glgrerr() { echo -ne " $(fn_rfl "$ERR") $(fn_red "$GERR") " } fn_glm() { echo -ne " $(fn_grn "$GRM") $(fn_grn "$GRMS") $(fn_wht "$GRMS1" ) " } fn_grm() { echo -ne " $(fn_grn "$GRM") $(fn_grn "$GRMS") $(fn_wht "$GRMS2" ) " } fn_mrun() { echo -ne " $(fn_red "$GME1") $(fn_wht "$glrun") $(fn_red "$GME3") $(fn_red "$GME4") $(fn_wht "$GME5") " } fn_mqms() { echo -ne " $(fn_wht "$MQMS") " } fn_mque() { echo -ne " $(fn_red "$GME1") $(fn_wht "$glque") $(fn_red "$GME2") $(fn_red "$GME4") $(fn_wht "$GME5") " } fn_snooze() { sleep 5m & pid=$! frames="┤ ┘ ┴ └ ├ ┌ ┬ ┐" while kill -0 $pid > /dev/null 2>&1 do for frame in $frames do time=$(date +%r) printf "%s\r ... $frame Waiting 5 Mins ... " "Current Server Time: $time" sleep 0.1 done done gitlab_check } ############################################## ### Checking if GitLab-Runner is Installed ### ############################################## # shellcheck disable=SC2317 # Don't warn about unreachable commands in this function runner_installed() { { if ! [ -x "$(command -v gitlab-runner)" ]; then gitlab_installed else $pkgmgr install gitlab-runner fn_grm exit 0 fi } } ########################################################### #### Detect Package Manger from OS and OSVer Variables #### ########################################################### if [ "${OS}" = ubuntu ]; then pkgmgr="apt -y --allow-change-held-packages" $pkgmgr update elif [ "${OS}" = amazon ]; then if [ "${OSVER}" = 2 ]; then pkgmgr="yum -y" fi elif [ "${OS}" = red ]; then if [ "${OSVER}" = 7 ]; then pkgmgr="yum -y" else pkgmgr="dnf -y" fi fi ############################################## ### Checking if GitLab-Runner is Installed ### ############################################## runner_installed() { { if ! [ -x "$(command -v gitlab-runner)" ]; then gitlab_installed else $pkgmgr install gitlab-runner fn_grm exit 0 fi } } ####################################### ### Checking if GitLab is installed ### ####################################### gitlab_installed() { { if ! [ -x "$(command -v gitlab-ctl)" ]; then fn_glgrerr exit 1 else ### Detect if GitLab is CE or EE ### if ! grep -ow "gitlab-ce" /opt/gitlab/version-manifest.txt; then glt=ee else glt=ce fi export glt gitlab_check fi } } ###################################### ### Migration Backgound Check Loop ### ###################################### function gitlab_check() { { fn_mqms glver=$(cat /var/opt/gitlab/gitlab-rails/VERSION) if [[ "$glver" > 14.0.0 ]];then for glque in $(gitlab-rails runner -e production 'puts Gitlab::Database::BackgroundMigration::BatchedMigration.queued.count') do if [[ $glque != 0 ]]; then fn_mque fn_snooze fi done fi for glrun in $(gitlab-rails runner -e production 'puts Gitlab::BackgroundMigration.remaining') do if [[ $glrun != 0 ]]; then fn_mrun fn_snooze fi done gitlab_update } } ################################ ### Simple Update for GitLab ### ################################ function gitlab_update() { { glver=$(cat /var/opt/gitlab/gitlab-rails/VERSION) if [ ! -d /root/gitlab_backups ]; then mkdir /root/gitlab_backups cp -ar /etc/gitlab/* /root/gitlab_backups fi for a in "${a1[@]}" do if [[ $glver = "$a" ]]; then if [ "${OS}" = ubuntu ]; then $pkgmgr install gitlab-$glt=12.0.12-$glt.0 else $pkgmgr install gitlab-$glt-12.0.12 if [ "${OS}" = red ]; then gitlab-ctl reconfigure fi fi gitlab_check fi done for b in "${a2[@]}" do if [[ $glver = "$b" ]]; then if [ "${OS}" = ubuntu ]; then $pkgmgr install gitlab-$glt=12.1.17-$glt.0 else $pkgmgr install gitlab-$glt-12.1.17 if [ "${OS}" = red ]; then gitlab-ctl reconfigure fi fi gitlab_check fi done for c in "${a3[@]}" do if [[ $glver = "$c" ]]; then if [ "${OS}" = ubuntu ]; then $pkgmgr install gitlab-$glt=12.10.14-$glt.0 else $pkgmgr install gitlab-$glt-12.10.14 if [ "${OS}" = red ]; then gitlab-ctl reconfigure fi fi gitlab_check fi done for d in "${a4[@]}" do if [[ $glver = "$d" ]]; then if [ "${OS}" = ubuntu ]; then $pkgmgr install gitlab-$glt=13.0.14-$glt.0 else $pkgmgr install gitlab-$glt-13.0.14 if [ "${OS}" = red ]; then gitlab-ctl reconfigure fi fi gitlab_check fi done for e in "${a5[@]}" do if [[ $glver = "$e" ]]; then if [ "${OS}" = ubuntu ]; then $pkgmgr install gitlab-$glt=13.1.11-$glt.0 else $pkgmgr install gitlab-$glt-13.1.11 if [ "${OS}" = red ]; then gitlab-ctl reconfigure fi fi gitlab_check fi done for f in "${a6[@]}" do if [[ $glver = "$f" ]]; then if [ "${OS}" = ubuntu ]; then $pkgmgr install gitlab-$glt=13.8.8-$glt.0 else $pkgmgr install gitlab-$glt-13.8.8 if [ "${OS}" = red ]; then gitlab-ctl reconfigure fi fi gitlab_check fi done for g in "${a7[@]}" do if [[ $glver = "$g" ]]; then if [ "${OS}" = ubuntu ]; then $pkgmgr install gitlab-$glt=13.12.15-$glt.0 else $pkgmgr install gitlab-$glt-13.12.15 if [ "${OS}" = red ]; then gitlab-ctl reconfigure fi fi gitlab_check fi done for h in "${a8[@]}" do if [[ $glver = "$h" ]]; then if [ "${OS}" = ubuntu ]; then $pkgmgr install gitlab-$glt=14.0.12-$glt.0 else $pkgmgr install gitlab-$glt-14.0.12 if [ "${OS}" = red ]; then gitlab-ctl reconfigure fi fi # gitlab-ctl restart postgresql # <-- Use only for standalone, not needed for rds gitlab_check fi done for i in "${a9[@]}" do if [[ $glver = "$i" ]]; then if [ "${OS}" = ubuntu ]; then $pkgmgr install gitlab-$glt=14.3.6-$glt.0 else $pkgmgr install gitlab-$glt-14.3.6 if [ "${OS}" = red ]; then gitlab-ctl reconfigure fi fi # gitlab-ctl restart redis # <-- Use only for standalone, not needed for rds gitlab_check fi done for j in "${a10[@]}" do if [[ $glver = "$j" ]]; then if [ "${OS}" = ubuntu ]; then $pkgmgr install gitlab-$glt=14.9.5-$glt.0 else $pkgmgr install gitlab-$glt-14.9.5 if [ "${OS}" = red ]; then gitlab-ctl reconfigure fi fi gitlab_check fi done for k in "${a11[@]}" do if [[ $glver = "$k" ]]; then if [ "${OS}" = ubuntu ]; then $pkgmgr install gitlab-$glt=14.10.5-$glt.0 else $pkgmgr install gitlab-$glt-14.10.5 if [ "${OS}" = red ]; then gitlab-ctl reconfigure fi fi gitlab_check fi done for l in "${a12[@]}" do if [[ $glver = "$l" ]]; then if [ "${OS}" = ubuntu ]; then $pkgmgr install gitlab-$glt=15.0.5-$glt.0 else $pkgmgr install gitlab-$glt-15.0.5 if [ "${OS}" = red ]; then gitlab-ctl reconfigure fi fi # gitlab-ctl restart postgesql # <-- Use only for standalone, not needed for rds gitlab_check fi done for m in "${a13[@]}" do if [[ $glver = "$m" ]]; then if [ "${OS}" = ubuntu ]; then $pkgmgr install gitlab-$glt=15.1.6-$glt.0 else $pkgmgr install gitlab-$glt-15.1.6 if [ "${OS}" = red ]; then gitlab-ctl reconfigure fi fi gitlab_check fi done for n in "${a14[@]}" do if [[ $glver = "$n" ]]; then if [ "${OS}" = ubuntu ]; then $pkgmgr install gitlab-$glt=15.4.6-$glt.0 else $pkgmgr install gitlab-$glt-15.4.6 if [ "${OS}" = red ]; then gitlab-ctl reconfigure fi fi # gitlab-ctl restart redis # <-- Use only for standalone, not needed for rds gitlab_check fi done for o in "${a15[@]}" do if [[ $glver = "$o" ]]; then if [ "${OS}" = ubuntu ]; then $pkgmgr install gitlab-$glt=16.1.2-$glt.0 else $pkgmgr install gitlab-$glt-16.1.2 if [ "${OS}" = red ]; then gitlab-ctl reconfigure fi fi gitlab_check fi done for p in "${a16[@]}" do if [[ $glver = "$p" ]]; then fn_glm exit 0 fi done } } ####################################### ### Check for Root / Function Calls ### ####################################### if [ "$(whoami)" != root ]; then fn_runerr else runner_installed fi