[root@VM-4-4-centos ~]# cat install_gitlab.sh
#!/bin/bash
#
#说明:安装GitLab 服务器内存建议至少4G,root密码至少8位
GITLAB_VERSION=12.0.2
#GITLAB_VERSION=14.1.7
#GITLAB_VERSION=12.3.5
. /etc/os-release
UBUNTU_URL="https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu/pool/${UBUNTU_CODENAME}/main/g/gitlab-ce/gitlab-ce_${GITLAB_VERSION}-ce.0_amd64.deb"
RHEL_URL=https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-${GITLAB_VERSION}-ce.0.el7.x86_64.rpm
HOST=gitlab.zxk.org
DOWNLOAD_DIR=/usr/local/src
GITLAB_ROOT_PASSWORD=12345678
SMTP_PASSWORD=XLGWWWGMCVZSPDDY
#HOST=`hostname -I|awk '{print $1}'`
color () {
RES_COL=60
MOVE_TO_COL="echo -en \\033[${RES_COL}G"
SETCOLOR_SUCCESS="echo -en \\033[1;32m"
SETCOLOR_FAILURE="echo -en \\033[1;31m"
SETCOLOR_WARNING="echo -en \\033[1;33m"
SETCOLOR_NORMAL="echo -en \E[0m"
echo -n "$1" && $MOVE_TO_COL
echo -n "["
if [ $2 = "success" -o $2 = "0" ] ;then
${SETCOLOR_SUCCESS}
echo -n $" OK "
elif [ $2 = "failure" -o $2 = "1" ] ;then
${SETCOLOR_FAILURE}
echo -n $"FAILED"
else
${SETCOLOR_WARNING}
echo -n $"WARNING"
fi
${SETCOLOR_NORMAL}
echo -n "]"
echo
}
install_gitlab() {
if [ $ID = "centos" -o $ID = "rocky" ];then
PACK="${RHEL_URL##*/}"
echo $PACK
# [ ! -e $PACK ] && wget ${RHEL_URL} || { color "下载失败!" 1 ;exit ; }
yum -y install $PACK
elif [ $ID = "ubuntu" ];then
PACK="${UBUNTU_URL##*/}"
echo $PACK
echo ${UBUNTU_URL}
if [ ! -e $PACK ];then
wget ${UBUNTU_URL} || { color "下载失败!" 1 ;exit ; }
fi
dpkg -i $PACK
else
color '不支持当前操作系统!' 1
exit
fi
if [ $? -eq 0 ];then
color "安装 GitLab完成!" 0
else
color "安装 GitLab失败!" 1
exit
fi
}
config_gitlab() {
sed -i.bak "/^external_url.*/c external_url \'http://$HOST\'" /etc/gitlab/gitlab.rb
cat >> /etc/gitlab/gitlab.rb <<EOF
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "1043490960@qq.com"
gitlab_rails['smtp_password'] = "$SMTP_PASSWORD"
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = "1043490960@qq.com"
gitlab_rails['initial_root_password'] = "$GITLAB_ROOT_PASSWORD"
EOF
gitlab-ctl reconfigure
gitlab-ctl status
if [ $? -eq 0 ];then
echo
color "Gitlab安装完成!" 0
echo "-------------------------------------------------------------------"
echo -e "请访问链接: \E[32;1mhttp://$HOST/\E[0m"
echo -e "用户和密码: \E[32;1mroot/${GITLAB_ROOT_PASSWORD}\E[0m"
else
color "Gitlab安装失败!" 1
exit
fi
}
install_gitlab
config_gitlab
登录验证: