GitLab企業級代碼管理倉庫

  • 使用GitHub或者碼雲等公共代碼倉庫
  • 使用GitLab私有倉庫

 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已經自動發了一封郵件給註冊用戶的郵箱,須要用戶進行郵件確認後,方可登陸。

 

 

 建立一個項目組

 

 

給組添加成員並受權

 

  • Guest訪客: 
    • 只能發表評論,不能讀寫項目庫
  • Reporter報告者: 
    • 只能克隆代碼(讀),不能提交代碼(修改)(產品測試)
  • Developer開發人員: 
    • 能夠進行代碼的讀寫(普通程序員)
  • Master主程序員: 
    • 能夠添加項目成員,添加標籤,建立和保護分支(產品經理)
  • Owner全部者: 
    • 擁有全部權限(通常不用此權限)

 

 

添加權限成功後,GitLab會自動郵件通知這個用戶

 給項目組建立一個新項目

 

 

進行組成員的項目提交和克隆測試

再建立一個普通程序員(開發人員)的帳號

 測試克隆GitLab到本地倉庫

測試將本地倉庫master分支的改變推到GitLab上

測試結果推送失敗,由於開發人員沒有這個權限,開發人員沒有權限修改GitLab上master分支

 

測試提交除master的分支到GitLab

說明:普通的開發人員沒有權限修改master分支的代碼,可是他能夠任意建立本身的分支,不能提交到GitLab更不能合併了,在本地倉庫能夠合併,可是本地倉庫合併完了並不能修改master,沒有做用,真正的倉庫合併,是要在web界面合併的,也就是說在GitLab上的版本合併纔是真正的合併,本地合併只是本地的,本地合併完了是推不到master的,推不到就沒用。只有主程序員才能夠本地合併推到GitLab進行版本合併。

相關文章
相關標籤/搜索