gitlab的安裝和使用(二)

gitlab的安裝和使用(二)

使用過程中遇到的問題:

  1. 數據盤不夠用了
    解決辦法:
    gitlab數據本地目錄遷移
    gitlab代碼數據默認目錄:/var/opt/gitlab/git-data/repositories
    在新數據盤data目錄下新建gitlab-data目錄,把舊數據拷貝過去再重新啓動gitlab,操作如下:

    1. 停止數據連接服務
      [root@gitserver git-data]# gitlab-ctl stop unicorn
      ok: down: unicorn: 0s, normally up
      [root@gitserver git-data]# gitlab-ctl stop sidekiq
      ok: down: sidekiq: 0s, normally up
    2. 數據遷移
      [root@gitserver git-data]# cp -rp /var/opt/gitlab/git-data/repositories/ /data/gitlab-data/
    3. 修改gitlab配置文件
      [root@gitserver git-data]# vi /etc/gitlab/gitlab.rb
      git_data_dir "/data/gitlab-data"
    4. 啓動gitlab
      gitlab-ctl reconfigure
      或者gitlab-ctl start
  2. 修改主機名爲IP和端口號
    cd /opt/gitlab/embedded/service/gitlab-rails/config
    vi gitlab.yml
    host: #自己的IP
    port: #自己的端口號
    然後用命令 gitlab-ctl reconfigure 重啓gitlab

  3. 忘記root密碼
    在gitlab登錄窗口,如果密碼忘記了登錄不進入,可以先嚐試點擊登錄框下方的Forgot your password來通過郵箱的方式找回,如果郵箱不可以使用了,則看下面的強制找回方法

        1.連接到gitlab安裝的服務器上,然後輸入su - git 切換到git用戶下操作,切換之後默認的當前目錄就可以ls查看到gitlab的命令文件
        [root@localhost ~]# su - git
        2. 輸入gitlab-rails console production進入gitlab控制檯,只有進入到控制檯之後,纔可以輸入gitlab的查詢語句,纔會被解析
        3. 輸入user = User.where(id:1).first查詢id爲1的用戶對象,因爲超級管理員用戶默認都是1,也可以更加username來查詢用戶對象,管理員賬戶對象查詢到之後,可以從返回的信息中看到admin爲true,username爲root
        4.輸入user.password='密碼',密碼位置填寫您新的密碼即可。
        5.輸入user.save!保存用戶對象
        6.(設置之後直接登錄可能登不進去,但是稍等一下就能登陸了,所以如果設置完還是不行就稍等一下再試)
        操作如下
        -sh-4.2$ gitlab-rails console production
        Loading production environment (Rails 4.2.7.1)
        irb(main):001:0> 
        irb(main):002:0* user = User.where(id:1).first 回車
        => #<User id: 1, email: "[email protected]", created_at: ...
        ...
        , authorized_projects_populated: true>
        irb(main):003:0> 
        irb(main):004:0* user.password='newpasswd'
        => "newpasswd"
        irb(main):005:0> 
        irb(main):006:0* user.save!
        Enqueued ActionMailer::DeliveryJob (Job ID:... "password_change", "deliver_now", gid://gitlab/User/1
        => true
        irb(main):007:0> quit
  4. 修改時區
    vi /etc/gitlab/gitlab.rb
    #gitlab_rails['time_zone'] = 'UTC'
    #設置爲 亞洲/上海 東八區時間
    gitlab_rails['time_zone'] = 'Asia/Shanghai'

  5. 默認的備份策略是使用Linux命令tar和gzip從各自的數據位置備份基本的數據流。
    這樣可以滿足大多數的備份要求,但是在數據迅速的變化時會引起問題。
    當tar讀取數據正在改變的文件時,錯誤 ‘file changed as we read it ‘可能會出現,並且會導致備份進程失敗。
    爲了解決這個問題,8.17 引入一個新的備份策略:copy。
    這個策略會在tar和gzip調用前將數據文件拷貝到一個臨時的路徑,避免出錯。
    這樣的副作用是備份程序會佔用1倍的磁盤空間。
    備份程序會在每次備份前清空臨時文件以避免重複,但是這對於較大的安裝系統是一個需要考慮的改變。
    這就是爲什麼copy策略爲什麼在8.17不是默認的備份策略。
    如果需要使用copy策略來替換默認的數據流備份策略,在備份命令指定參數 STRATEGY=copy。
    例如:
    sudo gitlab-rake gitlab:backup:create STRATEGY=copy
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章