gitlab的安裝和使用(二)
使用過程中遇到的問題:
-
數據盤不夠用了
解決辦法:
gitlab數據本地目錄遷移
gitlab代碼數據默認目錄:/var/opt/gitlab/git-data/repositories
在新數據盤data目錄下新建gitlab-data目錄,把舊數據拷貝過去再重新啓動gitlab,操作如下:- 停止數據連接服務
[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 - 數據遷移
[root@gitserver git-data]# cp -rp /var/opt/gitlab/git-data/repositories/ /data/gitlab-data/ - 修改gitlab配置文件
[root@gitserver git-data]# vi /etc/gitlab/gitlab.rb
git_data_dir "/data/gitlab-data" - 啓動gitlab
gitlab-ctl reconfigure
或者gitlab-ctl start
- 停止數據連接服務
-
修改主機名爲IP和端口號
cd /opt/gitlab/embedded/service/gitlab-rails/config
vi gitlab.yml
host: #自己的IP
port: #自己的端口號
然後用命令 gitlab-ctl reconfigure 重啓gitlab -
忘記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
-
修改時區
vi /etc/gitlab/gitlab.rb
#gitlab_rails['time_zone'] = 'UTC'
#設置爲 亞洲/上海 東八區時間
gitlab_rails['time_zone'] = 'Asia/Shanghai' - 默認的備份策略是使用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