作者: AlexTan
CSDN: http://blog.csdn.net/alextan_
Github: https://github.com/AlexTan-b-z
e-mail: alextanbz@gmail.com
操作系统:Ubuntu18.04
sudo apt-get install curl openssh-server ca-certificates postfix
执行完成后,出现邮件配置,选择Internet那一项(不带Smarthost的)
2. 利用清华大学的镜像来进行主程序的安装。
curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null
(如果下载过程中访问超时出错,请用curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash,并直接跳入gitlab-ce安装)
3. gitlab-ce的下载
# 利用root用户打开文件
vim /etc/apt/sources.list.d/gitlab-ce.list
# 添加下载地址:
deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu xenial main
安装 gitlab-ce:
sudo apt-get update
sudo apt-get install gitlab-ce=12.3.0-ce.0
# 生成配置文件并启动服务:
gitlab-ctl reconfigure
gitlab-ctl status
这里安装的版本一定要和汉化的版本一样
git clone https://gitlab.com/xhang/gitlab.git
sudo cp -r /opt/gitlab/embedded/service/gitlab-rails/ /opt/gitlab/embedded/service/gitlab-rails-bak/
# 在汉化包下载目录下执行
sudo cp -rf gitlab-12-3-stable-zh/* /opt/gitlab/embedded/service/gitlab-rails/
gitlab-ctl reconfigure
gitlab-ctl restart
# 备份命令
gitlab-rake gitlab:backup:create
# 查看备份目录
cat /etc/gitlab/gitlab.rb|grep gitlab_rails|grep backup_path
cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab-secrets.json /var/opt/gitlab/backups
cd /var/opt/gitlab/backups
tar zcvf gitlab_all_backup.tar.gz ./*
tar zxvf gitlab_all_backup.tar.gz
# 反斜线是忽略系统的alias,不会有覆盖文件提醒,慎重使用
\mv gitlab.rb gitlab-secrets.json /etc/gitlab/
# 重载gitlab配置
gitlab-ctl reconfigure
gitlab-ctl restart
将之前备份的数据文件移到/var/opt/gitlab/backups下,然后恢复数据
cd /tmp
# 注意前面一串数字为时间戳,将你备份的文件移进去
mv 1552743127_2019_03_16_10.5.1_gitlab_backup.tar /var/opt/gitlab/backups
# 恢复数据,注意BACKUP=后面只要 _gitlab_backup.tar 前面的版本号,如下
gitlab-rake gitlab:backup:restore BACKUP=1552743127_2019_03_16_10.5.1
# 重载gitlab配置
gitlab-ctl reconfigure
external_url 'http://gitlab.xxx.com' #gitlab域名
gitlab_rails['gitlab_email_enabled'] = true #gitlab启用email通知
gitlab_rails['gitlab_email_from'] = 'xxx-gitlab@xxx.com' #gitlab email来源
gitlab_rails['gitlab_email_display_name'] = 'gitlab-servce' #email展示名称
gitlab_rails['gitlab_email_reply_to'] = 'xxx-gitlab@xxx.com' #gitlab返回邮箱地址
gitlab_rails['gitlab_email_subject_suffix'] = ''
gitlab_rails['manage_backup_path'] = true #启用backup路径配置
gitlab_rails['backup_path'] = "/NFS" #设置gitlab备份路径
gitlab_rails['gitlab_shell_ssh_port'] = xxxx #设置gitlab ssh端口
gitlab_rails['git_max_size'] = 20971520
gitlab_rails['git_timeout'] = 10
gitlab_rails['gitlab_shell_git_timeout'] = 800
gitlab_rails['rack_attack_git_basic_auth'] = {
'enabled' => true,
'ip_whitelist' => ["192.168.8.118"], #设置gitlab白名单列表
'maxretry' => 300,
'findtime' => 5,
'bantime' => 60
}
gitlab_rails['initial_root_password'] = "xxxxxxx" #gitlab初始化root密码
gitlab_rails['smtp_enable'] = true #设置gitlab 发送邮件smtp服务器信息
gitlab_rails['smtp_address'] = "smtp.xxx.xxx.com" #设置smtp服务器地址
gitlab_rails['smtp_port'] = xxx #设置smtp服务器端口
gitlab_rails['smtp_user_name'] = "xxx-gitlab@xxx.com" #设置smtp用户名
gitlab_rails['smtp_password'] = "xxxxxx" #设置smtp密码
gitlab_rails['smtp_domain'] = "smtp.xxx.com" #设置smtp域名
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'xxx-gitlab@xxx.com'
git_data_dir "/data/gitlab-data" #设置gitlab数据目录
gitlab_rails['ldap_enabled'] = true #设置gitlab ldap认证
gitlab_rails['ldap_servers'] = YAML.load <<-'EOS'
main: # 'main' is the GitLab 'provider ID' of this LDAP server
label: 'LDAP'
host: 'xx.xx.xx.xx' #设置ldap服务器地址
port: xxx #设置ldap服务器端口
uid: 'cn'
method: 'plain' # "tls" or "ssl" or "plain"
bind_dn: 'cn=xxx,dc=xxx,dc=com' #ldap bind dn
password: 'xxx' #ldap bind dn用户对应的密码
active_directory: true
allow_username_or_email_login: true #允许用户名和邮箱登录
block_auto_created_users: false
base: 'dc=xxx,dc=com' #ldap base dn信息,即搜索域
attributes:
username: ['cn', 'uid']
email: ['mail', 'email']