2015年1月20日 星期二

gitlab 心得

使用Omnibus package embed安装的gitlab
https://about.gitlab.com/downloads/
路徑放在:
/var/opt/gitlab/
而非
/home/git/gitlab/ 下
重啟gitlab:
gitlab-ctl restart  #重啟動後刷頁要等一段時間,而非像apache馬上生效
而非
/etc/init.d/gitlab restart

設定檔在:
/var/opt/gitlab/gitlab-shell/config.yml

log檔在:
tail -f /var/log/gitlab/nginx/gitlab_error.log
tail -f /var/log/gitlab/nginx/gitlab_access.log

查gitlab版本
http://yourdomain/help

git push錯誤:(這是突發事件,之前用正常)
$ git push -u origin master
Agent admitted failure to sign using the key.
Access denied.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
修改config.yml的
gitlab_url: "http://domain" # "http://domain:8080(/)", "http://wlan_ip(/)", "http://wlan_ip:8080(/)", "http://localhost:8080(/)", "http://localhost(/)"
self_signed_cert: false => true
都無解

暴力解法:
 /var/opt/gitlab/git-data/repositories/username
因為這邊在gitlab GUI介面沒開project-new.git資料夾出來,所以推上去找不到地方存
/var/opt/gitlab/git-data/repositories/bear# ls
project-old.git    project-old.wiki.git    project-new.wiki.git   ( 沒開project-new.git )

隨便cp一個舊的project,然後把使用者改git:git,權限改777(不改777可以拉下來但推上去gitlab會沒紀錄)
# cp -r project-old.git project-new.git
# chown git:git -R project-new.git
# chmod 777 -R project-new.git
這樣在http://domain/username/project-new/commits/master 下就可以看到log了,只是會帶舊的log在裡面,我試過開新的project-new然後git init --bare,ln -s hooks /opt/gitlab/embedded/service/gitlab-shell/hooks ,但無效,gitlab看不到專案

....過了幾個小時候,又可以正常用了,看來是偶發事件....不確定跟我中間reboot重啟機契友沒有關係

更改gitlab後台repo的網址
將gitlab後台網址
git@li8xx-xxx.members.linode.com:root/test.git
改成
git@your.domain:root/test.git
修改 /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
host: li8xx-xxx.members.linode.com => your.domain
重啟gitlab
# gitlab-ctl restart



沒有留言:

張貼留言