Linux下GitLab的安装及使用
一、初始GitLab
?
GitLab是利用Ruby on Rails一個(gè)開(kāi)源的版本管理系統(tǒng),實(shí)現(xiàn)一個(gè)自托管的Git項(xiàng)目倉(cāng)庫(kù),可通過(guò)Web界面進(jìn)行訪問(wèn)公開(kāi)的或者私人項(xiàng)目。
與Github類似,GitLab能夠?yàn)g覽源代碼,管理缺陷和注釋。可以管理團(tuán)隊(duì)對(duì)倉(cāng)庫(kù)的訪問(wèn),它非常易于瀏覽提交過(guò)的版本并提供一個(gè)文件歷史庫(kù)。團(tuán)隊(duì)成員可以利用內(nèi)置的簡(jiǎn)單聊天程序(Wall)進(jìn)行交流。
它還提供一個(gè)代碼片段收集功能可以輕松實(shí)現(xiàn)代碼復(fù)用,便于日后有需要的時(shí)候進(jìn)行查找。
Git的家族成員
?
Git:是一種版本控制系統(tǒng),是一個(gè)命令,是一種工具。
Gitlib:是用于實(shí)現(xiàn)Git功能的開(kāi)發(fā)庫(kù)。
Github:是一個(gè)基于Git實(shí)現(xiàn)的在線代碼托管倉(cāng)庫(kù),包含一個(gè)網(wǎng)站界面,向互聯(lián)網(wǎng)開(kāi)放。
GitLab:是一個(gè)基于Git實(shí)現(xiàn)的在線代碼倉(cāng)庫(kù)托管軟件,你可以用gitlab自己搭建一個(gè)類似于Github一樣的系統(tǒng),一般用于在企業(yè)、學(xué)校等內(nèi)部網(wǎng)絡(luò)搭建git私服。
?
二、實(shí)驗(yàn)環(huán)境(rhel7.3版本)
1、selinux和firewalld狀態(tài)為disabled
2、各主機(jī)信息如下:
| server1(git) | 172.25.83.1 |
?
三、Gitlab常用命令
?
?
四、部署GitLab
?
1、下載并安裝Gitlab社區(qū)版軟件:gitlab-ce-11.2.0-ce.0.el7.x86_64.rpm
[root@server1 ~]# ls gitlab-ce-11.2.0-ce.0.el7.x86_64.rpm [root@server1 ~]# yum install gitlab-ce-11.2.0-ce.0.el7.x86_64.rpm -y ? #安裝GitLab社區(qū)版。ce表示社區(qū)版,ee表示企業(yè)版2、編輯配置文件/etc.gitlab/gitlab.rb
[root@server1 ~]# vim /etc/gitlab/gitlab.rb?13 external_url 'http://172.25.83.1' ? #訪問(wèn)gitlab的地址 [root@server1 ~]# gitlab-ctl reconfigure ? #重載服務(wù),過(guò)程較長(zhǎng)耐心等待
重載服務(wù)之后,查看啟動(dòng)的所有的gitlab組件
?
3、登錄gitlab http://172.25.83.1
?
用戶:root 第一次登錄需要強(qiáng)制修改密碼(密碼至少要8位)
用修改過(guò)后的密碼進(jìn)行l(wèi)ogin
4、創(chuàng)建Project
?
<1>安裝Git工具linux:安裝Git,使用自帶的源安裝。—其實(shí)在之前配置Git本地倉(cāng)庫(kù)時(shí)已經(jīng)做過(guò)這步,這里不需要再做
[root@server1 ~]# yum install git -y
?
<2>生成密鑰文件:使用ssh-keygen生成密鑰文件.ssh/id_rsa.pub—其實(shí)在之前配置Git本地倉(cāng)庫(kù)與Github遠(yuǎn)程倉(cāng)庫(kù)關(guān)聯(lián)時(shí)已經(jīng)做過(guò)這步,這里不需要再做
[root@server1 ~]# ssh-keygen [root@server1 ~]# ls .ssh/ id_rsa ?id_rsa.pub ?<3>在GitLab的主頁(yè)中新建一個(gè)Project
?
在web界面點(diǎn)擊“Create??a??project”:
在Project??name中填入要?jiǎng)?chuàng)建的項(xiàng)目的名稱(我這里創(chuàng)建的項(xiàng)目的名稱是test),勾選Initialize this repository with a README,這樣GitHub會(huì)自動(dòng)為我們創(chuàng)建一個(gè)README.md文件。創(chuàng)建完畢后,可以看到README.md文件,并點(diǎn)擊“Create project“創(chuàng)建工程
根據(jù)提示,我們點(diǎn)擊橙色字體的“add??an??SSH??key”,進(jìn)行SSH??key的添加
[root@server1 ~]# cd .ssh/ [root@server1 .ssh]# cat id_rsa.pub? ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3xeeqOavrqvenQHbGkepogV1YbggV/086mA28HX1iXe3MVXIKt9+1gBJdN8lmhUz9HPgADPBhaOfM3jgP459lf9bFBqd0x5doOA+JN0LtEiM0K4kSQ8yb3ViExN8iqLd4jxVhcjIuPmHfD+JhEG0iGJ79tXNL3m7GlONNq7lODvNuquq5kUK2u7/9cJfI9Bmow8lX92qxF0jz82n73UeYOvCh1069vWDVbONCUB7lJMdXQPC2XPfelyuWmDGExxdUqM4xLcTBBFx5XsMyjQvA+zljytYKphgNEO3hC0hWGxKnEw4R5U/stAROBG/W+nNzkupoWGFjIo1Zax52PY+x root@server1
點(diǎn)擊Add key
5、克隆項(xiàng)目test,在本地生成同名目錄,并且目錄中會(huì)有所有的項(xiàng)目文件
?
<1>進(jìn)入創(chuàng)建的test項(xiàng)目主界面
點(diǎn)擊Your??projects
點(diǎn)擊Administrator / test
<2>將Gitlab上的遠(yuǎn)程項(xiàng)目test克隆到本地
[root@server1 ~]# git clone git@172.25.83.1:root/test.git ? #在哪個(gè)目錄下執(zhí)行該命令都可以,我這里想把克隆到本地的test項(xiàng)目放在root用戶的家目錄下,所以我這里在root用戶的家目錄下執(zhí)行該名林。 Cloning into 'test'... The authenticity of host '172.25.83.1 (172.25.83.1)' can't be established. ECDSA key fingerprint is 36:fe:bc:26:f8:92:25:e4:b6:f3:d3:54:dc:06:a5:c0. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '172.25.83.1' (ECDSA) to the list of known hosts. remote: Enumerating objects: 3, done. remote: Counting objects: 100% (3/3), done. remote: Total 3 (delta 0), reused 0 (delta 0) Receiving objects: 100% (3/3), done. [root@server1 ~]# ls test
?
注意把Git庫(kù)的地址換成你自己的,然后進(jìn)入test目錄看看,已經(jīng)有README.md文件了:
[root@server1 ~]# cd test/ [root@server1 test]# ls README.md [root@server1 test]# cat README.md? # test
?
6、我們可以在本地項(xiàng)目test中編輯內(nèi)容,并將內(nèi)容推送到Gitlab遠(yuǎn)程項(xiàng)目test下
?
<1>添加git用戶信息—其實(shí)在之前配置Git本地倉(cāng)庫(kù)時(shí)已經(jīng)做過(guò)這步,這里不需要再做
[root@server1 demo]# git config --global user.name xjj ? #設(shè)置用戶名 [root@server1 demo]# git config --global user.email xjj@xjj.com ? #設(shè)置用戶郵箱
?
<2>創(chuàng)建需要上傳到GitLab中的目標(biāo)文件
[root@server1 test]# pwd /root/test [root@server1 test]# echo www.xin.com > index.html ? #必須在項(xiàng)目目錄test下執(zhí)行該命令 [root@server1 test]# cat index.html? www.xin.com
?
<3>將index.html文件加入到索引中
[root@server1 test]# git add index.html<4>將index.html提交到本地倉(cāng)庫(kù)
[root@server1 test]# git commit -m "add index.html" [master 9bcf5d2] add index.html1 file changed, 1 insertion(+)create mode 100644 index.html<5>將文件同步到GitLab服務(wù)器上
[root@server1 test]# git push -u origin master Counting objects: 4, done. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 278 bytes | 0 bytes/s, done. Total 3 (delta 0), reused 0 (delta 0) To git@172.25.83.1:root/test.gitdf45c1d..9bcf5d2 ?master -> master Branch master set up to track remote branch master from origin.
?
<6>在網(wǎng)頁(yè)中查看上傳的index.html文件已經(jīng)同步到GitLab中
點(diǎn)擊index.html
?
總結(jié)
以上是生活随笔為你收集整理的Linux下GitLab的安装及使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Spring Boot 与 Java 对
- 下一篇: Linux环境下使用rpm包安装GitL