Gitlab局域網服務器搭建教程
簡介
Git是一個程序員必備的版本管理軟件,個人使用git用本地庫或者github就夠了。但是當在實驗室或者公司裏面需要幾個人一起合作開發項目時,空間限制、網速限制、人數限制、功能限制就成了很大的問題,因此在局域網搭建一個小型的git服務器是一個非常適宜的解決方案。
相比於純命令行的git服務器,有網頁客戶端圖形化管理界面的gitlab是git server非常好的一種選擇。Gitlab是由烏克蘭程序員 Dmitriy Zaporozhets 和 Valery Sizov 開發,它由 Ruby 寫成。現在分成社區版(ce)和企業版(ee)兩種。這兩者的核心是一樣的,大部分功能也是相同的,不過企業版有很好的客服支持,而社區版就自己摸索嘍,詳細的對比見官網:Giylab各個版本差異。
社區版的Gitlab有以下常用功能:
- CI/CD,就是任務管理
- 倉庫管理:包括私人/組(內部)/公開三種倉庫,
- 用戶管理
- 組管理,可以管理4級權限用戶
- wiki,支持markdown
- Project Issue Board,問題跟蹤,bug的記錄、跟蹤和討論
- Time Tracking,時間線跟蹤(這個我不太懂)
- Mattermost integration,內建的聊天系統
- Git LFS,大文件存儲技術
在ubuntu服務器上安裝Gitlab
由於我們實驗室只有ubuntu的服務器,所以這裏主要介紹gitlab在Ubuntu下的搭建教程。安裝前需要確定以下條件:
- 你擁有root權限
- 可以操作服務器,或者可以通過ssh登入服務器
- 配置需求
- cpu,1核可以承受100用戶,2核承受500用戶(推薦),4核2000用戶,8核5000用戶。。。。。
- 內存,512MB RAM + 1.5GB交換空間(最低配置),1GB RAM + 1GB交換空間100用戶卡頓,2Gb內存100用戶(推薦)。。。
- 可以聯網
- 推薦的操作系統
- 建議申請一個域名,.cn的一年才70塊,首年30,相信大部分實驗室都用得起,而且由於服務器在實驗室內部,不用備案,哈哈哈哈哈哈哈
安裝過程
- 登入ssh(或者在服務器上打開終端)
- 安裝依賴項
sudo apt-get update
sudo apt-get install -y curl openssh-server ca-certificates
sudo apt-get install -y postfix
- 添加安裝包的地址
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
- 設置訪問域名並下載安裝
//有域名的
sudo EXTERNAL_URL="http://git.example.com" apt-get install gitlab-ce
//沒有域名的
sudo apt-get install gitlab-ce
這裏的http://git.example.com需要改成自己的申請的域名,並且需要在域名服務商那裏設置解析到局域網的那個ip,如果沒有域名就可以把前面那段去掉。安裝過程極其緩慢,需要下載500多M的東西,百兆到戶的別說話。
5. 安裝過程無需干預,獨立自主進行,正常安裝結束時可以看到一個可愛的狐狸頭:
登入界面
使用域名登入系統,沒有域名的可以在本地使用http://127.0.0.1 登入,或者是喲個http://你的IP地址在其他電腦登入。首次登入需要設置root賬戶的密碼,設置完就可以正常使用了。使用前需要先註冊賬號,然後就可以正常使用了,感覺和小夥伴搞起來把。
常見問題
Group項目push失敗(403錯誤)
權限分4級,guest,develop,maintain,owner,只有maintain(主管)纔可以創建新的分支,develop可以提交到分支。但是!敲黑板,master分支默認處於保護分支,不可以直接push到master分支,只能push到其他分支。
如何刪除項目
由於gitlab刪除項目的按鈕隱藏較深,gitlab又更新頻繁,網傳的許多方法都是過時的,現在版本的刪除方法是在項目裏點setting->general->advance->remove project