1. 安装
本实例ip地址:192.168.10.10
1.1 yum安装
yum install -y curl policycoreutils-python openssh-server perl
yum install postfix
systemctl enable postfix
systemctl start postfix
yum install wget
wget --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-14.4.4-ce.0.el7.x86_64.rpm
yum install gitlab-ce-14.4.4-ce.0.el7.x86_64.rpm
sed -i 's#^external_url.*$#external_url '\''http://192.168.10.10:9000'\''#g' /etc/gitlab/gitlab.rb
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'xxx@163.com'
gitlab_rails['gitlab_email_display_name'] = 'Gitlab'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxx@163.com"
gitlab_rails['smtp_password'] = "xxxxxxxx"
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab-ctl reconfigure
gitlab-ctl start
gitlab-ctl restart
gitlab-ctl status
gitlab-ctl stop
1.2 脚本安装
#!/bin/bash
external_url="http://192.168.10.10:9000"
smtp_user_name="xxx@163.com"
smtp_password="xxxxxxxx"
smtp_address="smtp.163.com"
smtp_port=465
smtp_domain="163.com"
gitlab_email_display_name="Gitlab"
software="gitlab-ce-14.4.4-ce.0.el7.x86_64.rpm"
soft_url="https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/"
softname="gitlab-ce"
yum install -y curl policycoreutils-python openssh-server perl postfix wget > /dev/null 2>&1
systemctl enable postfix > /dev/null 2>&1
systemctl start postfix > /dev/null 2>&1
if [ ! -f ${software} ];then
echo "正在下载安装包:${software}"
wget --no-check-certificate ${soft_url}${software} > /dev/null 2>&1
[ ! -f ${software} ] && echo "${software} download failure,exit" && exit
else
echo "安装包已存在:${software}"
fi
rpm -qa ${softname} > /dev/null 2>&1
if [ "$?" -ge 1 ];then
echo "${software} 正在安装中..."
yum -y install ${software} > /dev/null 2>&1
rpm -qa ${softname} > /dev/null 2>&1
[ $? -ge 1 ] && echo "${software} 安装失败,退出整个程序" && exit
echo "${software} 安装成功"
else
echo "${softname} 已经安装"
fi
sed -i 's#^external_url.*$#external_url '\'''${external_url}''\''#g' /etc/gitlab/gitlab.rb
sed -i 's/^.*gitlab_rails\['\''gitlab_email_enabled'\''\].*$/gitlab_rails['\''gitlab_email_enabled'\''] = true/g' /etc/gitlab/gitlab.rb
sed -i 's/^.*gitlab_rails\['\''gitlab_email_from'\''\].*$/gitlab_rails['\''gitlab_email_from'\''] = '\'''${smtp_user_name}''\''/g' /etc/gitlab/gitlab.rb
sed -i 's/^.*gitlab_rails\['\''gitlab_email_display_name'\''\].*$/gitlab_rails['\''gitlab_email_display_name'\''] = '\'''${gitlab_email_display_name}''\''/g' /etc/gitlab/gitlab.rb
sed -i 's/^.*gitlab_rails\['\''smtp_enable'\''\].*$/gitlab_rails['\''smtp_enable'\''] = true/g' /etc/gitlab/gitlab.rb
sed -i 's/^.*gitlab_rails\['\''smtp_address'\''\].*$/gitlab_rails['\''smtp_address'\''] = "'${smtp_address}'"/g' /etc/gitlab/gitlab.rb
sed -i 's/^.*gitlab_rails\['\''smtp_port'\''\].*$/gitlab_rails['\''smtp_port'\''] = '${smtp_port}'/g' /etc/gitlab/gitlab.rb
sed -i 's/^.*gitlab_rails\['\''smtp_user_name'\''\].*$/gitlab_rails['\''smtp_user_name'\''] = "'${smtp_user_name}'"/g' /etc/gitlab/gitlab.rb
sed -i 's/^.*gitlab_rails\['\''smtp_password'\''\].*$/gitlab_rails['\''smtp_password'\''] = "'${smtp_password}'"/g' /etc/gitlab/gitlab.rb
sed -i 's/^.*gitlab_rails\['\''smtp_domain'\''\].*$/gitlab_rails['\''smtp_domain'\''] = "'${smtp_domain}'"/g' /etc/gitlab/gitlab.rb
sed -i 's/^.*gitlab_rails\['\''smtp_authentication'\''\].*$/gitlab_rails['\''smtp_authentication'\''] = "login"/g' /etc/gitlab/gitlab.rb
sed -i 's/^.*gitlab_rails\['\''smtp_enable_starttls_auto'\''\].*$/gitlab_rails['\''smtp_enable_starttls_auto'\''] = true/g' /etc/gitlab/gitlab.rb
sed -i 's/^.*gitlab_rails\['\''smtp_tls'\''\].*$/gitlab_rails['\''smtp_tls'\''] = true/g' /etc/gitlab/gitlab.rb
echo "修改配置后的结果"
cat /etc/gitlab/gitlab.rb |grep -E "${external_url}|gitlab_email_enabled|gitlab_email_from|gitlab_email_display_name|smtp_enable|smtp_address|smtp_port|smtp_user_name|smtp_password|smtp_domain|smtp_authentication|smtp_enable_starttls_auto|smtp_tls"
gitlab-ctl reconfigure > /dev/null 2>&1
cat /etc/gitlab/initial_root_password |grep ^Password
2. 备份
gitlab-rake gitlab:backup:create
crontab -e
0 3 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1
3. 恢复
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-rake gitlab:backup:restore BACKUP=1639315073_2021_12_12_14.4.4