Gitlab服務器部署、漢化、數據遷移

Gitlab服務器部署、漢化、數據遷移

作者: AlexTan
CSDN: http://blog.csdn.net/alextan_
Github: https://github.com/AlexTan-b-z
e-mail: [email protected]

操作系統:Ubuntu18.04

  1. 安裝依賴包:
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

這裏安裝的版本一定要和漢化的版本一樣

  1. 下載 gitlab漢化包
git clone https://gitlab.com/xhang/gitlab.git
  1. 備份gitlab
sudo cp -r /opt/gitlab/embedded/service/gitlab-rails/ /opt/gitlab/embedded/service/gitlab-rails-bak/
  1. 覆蓋(漢化)
# 在漢化包下載目錄下執行
sudo cp -rf gitlab-12-3-stable-zh/* /opt/gitlab/embedded/service/gitlab-rails/
  1. 重新加載,啓動服務
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

配置文件/etc/gitlab/gitlab.rb簡介

external_url 'http://gitlab.xxx.com'                                #gitlab域名
gitlab_rails['gitlab_email_enabled'] = true                         #gitlab啓用email通知
gitlab_rails['gitlab_email_from'] = '[email protected]'            #gitlab email來源
gitlab_rails['gitlab_email_display_name'] = 'gitlab-servce'         #email展示名稱
gitlab_rails['gitlab_email_reply_to'] = '[email protected]'        #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'] = "[email protected]"               #設置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'] = '[email protected]'
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']
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章