GitLab是利用 Ruby on Rails一個開源的版本管理系統,實現一個自托管的Git項目倉庫,可通過Web界面進行訪問公開的或者私人項目。它擁有與Github類似的功能,能夠瀏覽源代碼,管理缺陷和注釋。可以管理團隊對倉庫的訪問,它非常易于瀏覽提交過的版本并提供一個文件歷史庫。它還提供一個代碼片段收集功能可以輕松實現代碼復用,便于日后有需要的時候進行查找。
Gitlab CE社區版完全開源免費,用來搭建自己專屬的代碼倉庫,提供一個類似Github風格的web界面,還是很犀利的。
1、部署環境
使用了centos 6.3, 內核版本號2.6.32-358.6.2.el6.x86_64
(建議使用centos7部署,這里因條件限制,這里使用了centos6)
Gitlab 使用了gitlab-ce-8.8.4這個版本,不能最新版,只能穩定可用。
下載地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/
2、開始安裝,
Gitlab CE集成安裝包,集成了Nginx, postgresql。這里的郵件沒有使用Postfix等郵件代理,直接使用126郵箱轉發注冊郵件。
yum?install?curl?policycoreutils?openssh-server?openssh-clients rpm?-i?gitlab-ce-8.8.4-ce.0.el6.x86_64.rpm
3、刷新配置
Gitlab-ctl?reconfigure
4、開啟服務
gitlab-ctl?start|stop|restart|status
當服務運行起來后,就已經可以使用主機地址訪問了,界面是這個樣子的,還是相當清爽的,首次登錄時會要求root用戶更改密碼。
服務雖然已經運行了,但是還是使用了默認的配置,gitlab使用配套文件來對各種功能進行控制,比如郵件通知,數據庫,nginx等等等
配置文件地址:/etc/gitlab/gitlab.rb
5、各配置項
因為可以配置的項太多,不一一作說明,只對保證可用的項進行說明:
注:配置文件修改完成后,需要重新用gitlab-ctl reconfigure命令刷新配置
#gitlab倉庫的訪問地址 external_url?'http://*****.*****.com'
#郵件配置,在代碼上傳,權限變更,找回密碼時發送通知郵件,這里偷懶使用了126郵件服務器轉發 ?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服務器的用戶名是完整的郵件地址 ?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'
#數據備份目錄,這個后面馬上就會用到 gitlab_rails['backup_path']?=?"/path/gitlab-back"
#數據庫存放目錄 git_data_dir?"/datapath/git-data"
Gitlab CE集成了nginx服務器和postgresql數據庫,對于集成的nginx服務是否啟用,是否單獨連接mysql數據庫等等等,都可以在gitlab.rb文件中設置的,信息量太大,不一一列舉了
再說一次,配置文件修改完成后,需要重新用gitlab-ctl reconfigure命令刷新配置后,才能生效
6、數據備份和恢復
sudo?gitlab-rake?gitlab:backup:create?SKIP=db?? #數據庫備份成功后,會在配置文件中gitlab_rails['backup_path']?項設置的文件夾中看到########_gitlab_backup.tar的?文件
#數據恢復 sudo?gitlab-ctl?stop?????????????????????????#停用Gitlab? sudo?gitlab-rake?gitlab:backup:restore?BACKUP=########???#恢復備份?\backup后的數字為備份文件的前綴? sudo?gitlab-ctl?start?????????????????????????#重啟?GitLab? sudo?gitlab-rake?gitlab:check?SANITIZE=true??????????#檢查?GitLab狀態
PS:WEB頁面默認為英文,截圖是漢化過的結果,漢化過程網上有教程;Gitlab的使用還是很容易上手的,多摸索幾天就熟了
原創文章,作者:N21-沉舟,如若轉載,請注明出處:http://www.www58058.com/25895