gitlab 服務器的搭建與使用全過程(一)


 

公司之前用的是vpn,然后老大說讓我搞一個git。於是,我開始了git的研究之路。。。。

概念:(說實話,看了還是有些不太理解)

git         是一種版本控制系統,是一個命令,是一種工具

gitlib      是用於實現git功能的開發庫

github   是一個基於git實現的在線代碼托管倉庫,包含一個網站界面,向互聯網開放

gitlab    是一個基於git實現的在線代碼倉庫托管軟件,你可以用gitlab自己搭建一個類似於

   github一樣的系統,一般用於在企業、學校等內部網絡搭建git私服

 

剛開始,我直接在阿里雲租了一台最便宜的linux服務器,然后就yum -y install git 。。。於是git就安裝好啦。。然后在客戶端上設置了一些東西之后就ok啦,文件代碼可以上傳和下載啦。。。再后來我想怎么對git進行管理呢? 雖然客戶端能夠看到一個個文件,但是服務端好像看不到文件,只是多出了一些看不懂的文件。。。於是我發現gitlab似乎可以進行管理。。。接下來我就開始了對gitlab的研究之路。。。

 


 

第一階段:git服務器的最簡單搭建和客戶端最簡單的使用。

准備:

服務端:阿里雲服務器 centos 7.4

(最好要4G內存的,其他不做要求,因為在后面安裝gitlab過程中,剛開始我用的是阿里雲最便宜的入門級服務器,內存512M,結果安裝過程中總是出現各種奇奇怪怪的錯誤,后來看了官方文檔,說是最好准備4G內存,結果換了以一下子就安裝上了,不可思議。)

客戶端:公司的mac電腦

幫助文檔:http://www.runoob.com/git/git-tutorial.html

       https://www.cnblogs.com/ganbo/p/7794281.html

 

  • 步驟一:服務端安裝git

[root@gitlab ~]# uname -a  ——》設備信息

Linux gitlab 3.10.0-693.2.2.el7.x86_64 #1 SMP Tue Sep 12 22:26:13 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

[root@gitlab ~]# yum -y install git  ——》安裝

[root@gitlab ~]# git version          ——》查看當前版本

git version 1.8.3.1


 

[root@gitlab ~]# useradd git  ——》創建git用戶和密碼

[root@gitlab ~]# passwd git

Changing password for user git.

New password:  123456   ——————》為了試驗的方便,后面所有要用到密碼的地方都設為123456

BAD PASSWORD: The password is shorter than 8 characters

Retype new password: 

passwd: all authentication tokens updated successfully.


[root@gitlab ~]# su - git    ————》注意,除非特別說明,后面的命令都以git用戶執行

[git@gitlab ~]$ ls

[git@gitlab ~]$


 

[git@gitlab ~]$ mkdir .ssh

[git@gitlab ~]$ touch .ssh/authorized_keys   ————》創建公鑰存放位置。也是為了安全性,盡管ssh-copy-id命令可以直接傳遞公鑰,但是客戶端必須得知道git密碼。在這邊直接創建了之后,我們只需要要求客戶端自己生成密鑰,然后將公鑰傳給git管理員,由git管理員添加就行了

[git@gitlab ~]$ chmod 755 .ssh/

[git@gitlab ~]$ chmod 644 .ssh/authorized_keys

 

********備注提示:網上有人說按照下面的步驟可以增加安全性. ..但我目前不會這么做,因為我是用git用戶去操作的,避免了很多需要額外添加權限的問題。這個大家在百度的時候可以看到很多需要用chown去添加git權限***********

[git@gitlab gitrepo]$ exit  ——》先暫時切換回root用戶

logout

[root@gitlab ~]#

[root@gitlab ~]# vim /etc/passwd  ————》修改入下圖所示

 

 

此時 git 用戶可以正常通過 ssh 使用 git,但無法通過 ssh 登錄系統。也是為了安全性。

****************參照我的文章的小伙伴千萬不要設置上面這個步驟哦,也許等到所有的項目全部都搭建好了,可以進行這個操作*********************

 


 

[git@gitlab ~]$ ls

[git@gitlab ~]$ pwd

/home/git

[git@gitlab ~]$ mkdir gitrepo  ——》創建或選定一個目錄作為git倉庫的存放目錄

[git@gitlab ~]$ ll

total 4

drwxrwxr-x 2 git git 4096 Apr 27 11:37 gitrepo


 

[git@gitlab ~]$ cd gitrepo/

[git@gitlab gitrepo]$ git init --bare xiangmu-1.git    ————》在選定目錄下創建git空倉庫 xiangmu-1

Initialized empty Git repository in /home/git/gitrepo/xiangmu-1.git/

[git@gitlab gitrepo]$ git init --bare xiangmu-2.git    ————》在選定目錄下創建git空倉庫 xiangmu-2

Initialized empty Git repository in /home/git/gitrepo/xiangmu-2.git/

[git@gitlab gitrepo]$ git init --bare xiangmu-3.git    ————》在選定目錄下創建git空倉庫 xiangmu-3

Initialized empty Git repository in /home/git/gitrepo/xiangmu-3.git/

[git@gitlab gitrepo]$ ls

xiangmu-1.git  xiangmu-2.git  xiangmu-3.git


 

ok服務器設置先告一段落。接下來在客戶端配置了。

步驟二:mac客戶端設置

因為mac有自帶的終端控制設備。windows的小伙伴就自己去解決吧。哈哈。 

 

不知道是因為我之前多次試驗然后沒有清理干凈的緣故,還是mac自帶git命令的緣故。反正我這邊有git命令。

我會介紹兩種操作方法,一個是命令行的下載和上傳。一個是git客戶端工具的上傳和下載。。。。

Git 完整命令手冊地址:http://git-scm.com/docs

PDF 版命令手冊:github-git-cheat-sheet.pdf

 

先說一說終端控制設備的操作步驟:

先創建ssh密鑰:

命令:ssh-keygen

得到: id_rsa(私鑰)  id_rsa.pub(公鑰) 這兩個文件

 

SHIJUNJIE-MAC:~ shijunjie$ pwd

/Users/shijunjie

SHIJUNJIE-MAC:~ shijunjie$ ls .ssh/

id_rsa id_rsa.pub known_hosts

SHIJUNJIE-MAC:~ shijunjie$

 

打開公鑰 id_rsa.pub,將里面的內容直接復制到之前在git服務端創建的.ssh/authorized_keys文件內

SHIJUNJIE-MAC:~ shijunjie$ cat ./.ssh/id_rsa.pub

[git@gitlab ~]$ vim ./.ssh/authorized_keys

 

在本地客戶端創建一個存放git倉庫的目錄,例如:

SHIJUNJIE-MAC:~ shijunjie$ mkdir git

SHIJUNJIE-MAC:~ shijunjie$ cd git/

SHIJUNJIE-MAC:git shijunjie$ pwd

/Users/shijunjie/git

 

將服務端的倉庫克隆一個到本地git目錄下:

SHIJUNJIE-MAC:git shijunjie$ pwd

/Users/shijunjie/git

SHIJUNJIE-MAC:git shijunjie$ git clone git@47.98.245.86:/home/git/gitrepo/xiangmu-1.git

Cloning into 'xiangmu-1'...

warning: You appear to have cloned an empty repository.

SHIJUNJIE-MAC:git shijunjie$ ls

xiangmu-1

 

ok,這樣就弄好啦,小伙伴可以愉快的操作了。

Git 完整命令手冊地址:http://git-scm.com/docs

PDF 版命令手冊:github-git-cheat-sheet.pdf

 



接下來說一說客戶端工具吧

工具下載地址在這里:

https://git-scm.com/download/gui/mac。 

工具有好多,小伙伴本可以一個個去嘗試一下。。在這邊本人就慷慨的介紹一下2種工具吧。。。

SourceTree

感覺注冊有點麻煩,不過使用還行。 

 使用前記得在設置界面設置一下,不然絕對會讓你瘋狂。。。。 

 

 

 

 

賬戶不需要。。。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

GitHub Desktop

 

 

 

 

 

 

 

 

 ok這樣2中工具的克隆倉庫大概就是這樣子了。。。具體更多的操作就需要小伙伴們自己去摸索了,也可以留言給我。。。

 

 









 

 

第二階段:gitlab 托管(管理)系統的搭建

    參考文檔:https://www.cnblogs.com/ganbo/p/7794281.html

 在這里我是用清華大學的鏡像站直接安裝的。再次提醒小伙伴,內存一定要夠哦,我沒試過2G行不行的,因為剛開始用的512M的入門級阿里雲服務器,結果不行,后來就直接用4G的了。。

https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/.  鏡像站 

 

搭建步驟:

[git@gitlab ~]$ exit  ————》先切換回root用戶

logout

[root@gitlab git]#

[root@gitlab git]# vim /etc/yum.repos.d/gitlab-ce.repo

[gitlab-ce]

name=Gitlab CE Repository

baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/

gpgcheck=0

enabled=1

[root@gitlab git]# yum makecache

[root@gitlab git]# yum install gitlab-ce

修改gitlab配置文件指定服務器ip和自定義端口:
vim  /etc/gitlab/gitlab.rb

ps:注意這里設置的端口不能被占用,默認是8080端口,如果8080已經使用,請自定義其它端口,並在防火牆設置開放相對應得端口

[root@gitlab git]# gitlab-ctl reconfigure

[root@gitlab git]# gitlab-ctl restart

 

 

ok 到這里為止gitlab就搭建好啦。。。下面讓我們登陸上去看看。

 只需要輸入你之前在/etc/gitlab/gitlab.rb里設置的地址就能進去了,首次登陸會讓你輸入用戶名和密碼,以及新密碼設置

 

初始賬戶: root 密碼: 5iveL!fe

 

 

 

 

 

 

由於都是英文,於是我想有沒有漢化的呢? 在qq群:linux學習交流 148412746 里的一位群友給了我一個連接。於是我走上了漢化的不歸路。。。

https://gitlab.com/xhang/gitlab/tree/9-0-stable-zh

 

根據這個指示我一步步做下去:

[root@gitlab git]# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

10.7.1

 我找到了下面這個,確認漢化版本包含了我所使用的這個版本10.7.1:

 

 

[root@gitlab ~]# pwd  ————》確認當前位置

/root

[root@gitlab ~]# git clone https://gitlab.com/xhang/gitlab.git  ——》克隆漢化版本庫

Cloning into 'gitlab'...

remote: Counting objects: 735568, done.

remote: Compressing objects: 100% (152381/152381), done.

remote: Total 735568 (delta 574996), reused 734906 (delta 574378)

Receiving objects: 100% (735568/735568), 294.48 MiB | 2.53 MiB/s, done.

Resolving deltas: 100% (574996/574996), done.

 

[root@gitlab ~]# ls

gitlab

[root@gitlab ~]# cd gitlab/

[root@gitlab gitlab]# git diff v10.7.1 v10.7.1-zh > ../10.7.1-zh.diff    ——》導出漢化包

[root@gitlab gitlab]# cd

[root@gitlab ~]# ls

10.7.1-zh.diff  gitlab

[root@gitlab ~]# gitlab-ctl stop

[root@gitlab ~]# patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < 10.7.1-zh.diff

[root@gitlab ~]# gitlab-ctl reconfigure   ——》重新編譯

[root@gitlab ~]# gitlab-ctl restart  ——》啟動

 

ok。這樣就安裝好啦,接下來我們看看效果吧:

哈哈。到這里漢化就全部搞定了,接下來就是研究這玩意如何去操作了。。。。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM