GitLab是什麼?linux
是一個用於倉庫管理系統的開源項目,使用Git做爲代碼管理工具,並在此基礎上搭建起來的web服務。基礎功能免費,高級功能收費。git
爲何要使用GitLab?程序員
基礎功能開源,可自行搭建
能夠進行權限控制,使得代碼對部分人可見
gitlab使用方便web
官方安裝文檔:https://about.gitlab.com/installation/#centos-7centos
GitLab國內源下載地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/瀏覽器
在Git02上裝GitLab服務器
初始環境ssh
主機名工具 |
IPgitlab |
備註 |
Git01 |
10.1.1.128 |
Git客戶端 |
Git02 |
10.1.1.129 |
GitLab服務器 |
安裝GitLab
利用yum安裝本地指定的rpm包,好處是自動解決依賴問題
初始化GitLab,只須要執行一次
查看GitLab啓動狀態
查看GitLab版本號
在宿主機輸入http:/IP就能夠訪問了,並給管理員用戶設定密碼
最少8位
登陸管理員帳號:root 密碼:66666666
登錄後,就能夠選擇以下功能使用了
GitLab中文社區版補丁包安裝
備份英文版GitLab
將中文補丁包的內容覆蓋英文版
從新配置GitLab
從新啓動GitLab
從新刷新瀏覽器訪問GitLab
使用GitLab
建立一個新項目
修改GitLab配置文件/etc/gitlab/gitlab.rb
咱們須要修改GitLab的默認訪問域名(由於咱們是在內網搭建的GitLab),GitLab的默認監聽端口是80,可是在企業中這個端口常常被別的服務佔用,因此還須要更換端口號
修改後的兩行內容
從新配置GitLab
從新啓動GitLab
從新訪問瀏覽器http://10.1.1.129:8888
嘗試將本地倉庫代碼推送到私有GitLab
在Git01客戶端上作
刷新瀏覽器
推送本地倉庫標籤v1.0到遠程倉庫GitLab上
嘗試在本地倉庫克隆GitLab的項目v1.0標籤到本地倉庫
推送本地倉庫linux分支到遠程倉庫GitLab上
克隆遠程倉庫GitLab的linux分支
克隆的時候加參數-b指定你要克隆的分支 不指定默認克隆的是master分支
配置GitLab的ssh祕鑰鏈接方式
在Git01上生成祕鑰對
將公鑰的內容複製到GitLab上
在瀏覽器端打開GitLab
添加成功
利用ssh方式克隆GitLab上的一個項目
配置GitLab郵件服務
配置郵箱服務的用途:1,有合併請求時,郵件通知 2,帳戶註冊時,郵件驗證 3,修改密碼時,經過郵件修改
配置步驟:開啓qq郵箱的smtp服務,修改gitlab配置,測試郵件服務是否正常
開啓GitLab服務的postfix服務並開啓qq郵箱的smtp服務
修改GitLab配置文件/etc/gitlab/gitlab.rb
修改爲以下
從新加載GitLab配置文件
從新啓動GitLab
進入GitLab控制檯進行郵件發送測試
開啓GitLab控制檯
GitLab的帳號註冊及分組
帳號註冊測試
咱們在註冊的時候,郵箱亂寫能註冊並登錄,顯然在企業是絕對不容許的
開啓GitLab郵箱驗證功能
從新登錄管理員用戶root,密碼66666666,進行以下操做
退出時別忘了保存修改的設置以下圖
而後退出管理員的登陸,進行從新註冊
由上圖發現,此時註冊用戶,已經進不去GitLab了,這是由於GitLab已經自動發了一封郵件給註冊用戶的郵箱,須要用戶進行郵件確認後,方可登陸。
建立一個項目組
給組添加成員並受權
添加權限成功後,GitLab會自動郵件通知這個用戶
給項目組建立一個新項目
進行組成員的項目提交和克隆測試
再建立一個普通程序員(開發人員)的帳號
測試克隆GitLab到本地倉庫
測試將本地倉庫master分支的改變推到GitLab上
測試結果推送失敗,由於開發人員沒有這個權限,開發人員沒有權限修改GitLab上master分支
測試提交除master的分支到GitLab
說明:普通的開發人員沒有權限修改master分支的代碼,可是他能夠任意建立本身的分支,不能提交到GitLab更不能合併了,在本地倉庫能夠合併,可是本地倉庫合併完了並不能修改master,沒有做用,真正的倉庫合併,是要在web界面合併的,也就是說在GitLab上的版本合併纔是真正的合併,本地合併只是本地的,本地合併完了是推不到master的,推不到就沒用。只有主程序員才能夠本地合併推到GitLab進行版本合併。