GitLab是利用 Ruby on Rails一個開源的版本管理系統(tǒng),實現(xiàn)一個自托管的Git項目倉庫,可通過Web界面進(jìn)行訪問公開的或者私人項目。它擁有與Github類似的功能,能夠瀏覽源代碼,管理缺陷和注釋。可以管理團(tuán)隊對倉庫的訪問,它非常易于瀏覽提交過的版本并提供一個文件歷史庫。它還提供一個代碼片段收集功能可以輕松實現(xiàn)代碼復(fù)用,便于日后有需要的時候進(jìn)行查找。
公司主營業(yè)務(wù):網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出臨海免費做網(wǎng)站回饋大家。
Gitlab CE社區(qū)版完全開源免費,用來搭建自己專屬的代碼倉庫,提供一個類似Github風(fēng)格的web界面,還是很犀利的。
1、部署環(huán)境
使用了centos 6.3, 內(nèi)核版本號2.6.32-358.6.2.el6.x86_64
(建議使用centos7部署,這里因條件限制,這里使用了centos6)
Gitlab 使用了gitlab-ce-8.8.4這個版本,不能最新版,只能穩(wěn)定可用。
下載地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/
2、開始安裝,
Gitlab CE集成安裝包,集成了Nginx, postgresql。這里的郵件沒有使用Postfix等郵件代理,直接使用126郵箱轉(zhuǎn)發(fā)注冊郵件。
1 2 | yum install curl policycoreutils openssh-server openssh-clients rpm -i gitlab-ce-8.8.4-ce.0.el6.x86_64.rpm |
3、刷新配置
1 | Gitlab-ctl reconfigure |
4、開啟服務(wù)
1 | gitlab-ctl start|stop|restart|status |
當(dāng)服務(wù)運行起來后,就已經(jīng)可以使用主機(jī)地址訪問了,界面是這個樣子的,還是相當(dāng)清爽的,首次登錄時會要求root用戶更改密碼。
服務(wù)雖然已經(jīng)運行了,但是還是使用了默認(rèn)的配置,gitlab使用配套文件來對各種功能進(jìn)行控制,比如郵件通知,數(shù)據(jù)庫,nginx等等等
配置文件地址:/etc/gitlab/gitlab.rb
5、各配置項
因為可以配置的項太多,不一一作說明,只對保證可用的項進(jìn)行說明:
注:配置文件修改完成后,需要重新用gitlab-ctl reconfigure命令刷新配置
1 2 | #gitlab倉庫的訪問地址 external_url 'http://*****.*****.com' |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #郵件配置,在代碼上傳,權(quán)限變更,找回密碼時發(fā)送通知郵件,這里偷懶使用了126郵件服務(wù)器轉(zhuǎn)發(fā) gitlab_rails[ 'gitlab_email_enabled' ] = true gitlab_rails[ 'gitlab_email_from' ] = 'd564*dfd@126.com' gitlab_rails[ 'gitlab_email_display_name' ] = '543543***b' gitlab_rails[ 'gitlab_email_reply_to' ] = '6546**654@126com' gitlab_rails[ 'smtp_enable' ] = true gitlab_rails[ 'smtp_address' ] = "smtp.126.com" gitlab_rails[ 'smtp_port' ] = 25 gitlab_rails[ 'smtp_user_name' ] = "55458**@126.com" #126服務(wù)器的用戶名是完整的郵件地址 gitlab_rails[ 'smtp_password' ] = "254254****" gitlab_rails[ 'smtp_domain' ] = "126.com" gitlab_rails[ 'smtp_authentication' ] = "login" gitlab_rails[ 'smtp_enable_starttls_auto' ] = false gitlab_rails[ 'smtp_openssl_verify_mode' ] = 'peer' |
1 2 | #數(shù)據(jù)備份目錄,這個后面馬上就會用到 gitlab_rails[ 'backup_path' ] = "/path/gitlab-back" |
1 2 | #數(shù)據(jù)庫存放目錄 git_data_dir "/datapath/git-data" |
Gitlab CE集成了nginx服務(wù)器和postgresql數(shù)據(jù)庫,對于集成的nginx服務(wù)是否啟用,是否單獨連接MySQL數(shù)據(jù)庫等等等,都可以在gitlab.rb文件中設(shè)置的,信息量太大,不一一列舉了
再說一次,配置文件修改完成后,需要重新用gitlab-ctl reconfigure命令刷新配置后,才能生效
6、數(shù)據(jù)備份和恢復(fù)
1 2 | sudo gitlab-rake gitlab:backup:create SKIP=db #數(shù)據(jù)庫備份成功后,會在配置文件中g(shù)itlab_rails['backup_path'] 項設(shè)置的文件夾中看到########_gitlab_backup.tar的 文件 |
1 2 3 4 5 | #數(shù)據(jù)恢復(fù) sudo gitlab-ctl stop #停用Gitlab sudo gitlab-rake gitlab:backup:restore BACKUP= ######## #恢復(fù)備份 \backup后的數(shù)字為備份文件的前綴 sudo gitlab-ctl start #重啟 GitLab sudo gitlab-rake gitlab:check SANITIZE= true #檢查 GitLab狀態(tài) |
PS:WEB頁面默認(rèn)為英文,截圖是漢化過的結(jié)果,漢化過程網(wǎng)上有教程;Gitlab的使用還是很容易上手的,多摸索幾天就熟了