日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux下GitLab的安装及使用

發布時間:2023/11/30 linux 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux下GitLab的安装及使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


一、初始GitLab
?

GitLab是利用Ruby on Rails一個開源的版本管理系統,實現一個自托管的Git項目倉庫,可通過Web界面進行訪問公開的或者私人項目。
與Github類似,GitLab能夠瀏覽源代碼,管理缺陷和注釋。可以管理團隊對倉庫的訪問,它非常易于瀏覽提交過的版本并提供一個文件歷史庫。團隊成員可以利用內置的簡單聊天程序(Wall)進行交流。
它還提供一個代碼片段收集功能可以輕松實現代碼復用,便于日后有需要的時候進行查找。


Git的家族成員
?

Git:是一種版本控制系統,是一個命令,是一種工具。
Gitlib:是用于實現Git功能的開發庫。
Github:是一個基于Git實現的在線代碼托管倉庫,包含一個網站界面,向互聯網開放。
GitLab:是一個基于Git實現的在線代碼倉庫托管軟件,你可以用gitlab自己搭建一個類似于Github一樣的系統,一般用于在企業、學校等內部網絡搭建git私服。

?

二、實驗環境(rhel7.3版本)
1、selinux和firewalld狀態為disabled

2、各主機信息如下:

主機ip
server1(git)172.25.83.1

?

三、Gitlab常用命令
?

gitlab-ctl start #啟動所有gitlab組件; gitlab-ctl stop #停止所有gitlab組件; gitlab-ctl restart #重啟所有gitlab組件; gitlab-ctl status #查看服務狀態; gitlab-ctl reconfigure #修改配置文件之后,重新加載gitlab配置文件并啟動所有gitlab組件 vim /etc/gitlab/gitlab.rb #修改默認的配置文件; gitlab-rake gitlab:check SANITIZE=true --trace #檢查gitlab; gitlab-ctl tail #查看日志; gitlab-ctl --help #查看gitlab命令的幫助


?

四、部署GitLab
?

1、下載并安裝Gitlab社區版軟件: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社區版。ce表示社區版,ee表示企業版

2、編輯配置文件/etc.gitlab/gitlab.rb

[root@server1 ~]# vim /etc/gitlab/gitlab.rb?13 external_url 'http://172.25.83.1' ? #訪問gitlab的地址 [root@server1 ~]# gitlab-ctl reconfigure ? #重載服務,過程較長耐心等待



重載服務之后,查看啟動的所有的gitlab組件

[root@server1 salt]# gitlab-ctl status run: alertmanager: (pid 1300) 275s; run: log: (pid 1298) 275s run: gitaly: (pid 1293) 275s; run: log: (pid 1292) 275s run: gitlab-monitor: (pid 1297) 275s; run: log: (pid 1296) 275s run: gitlab-workhorse: (pid 1285) 275s; run: log: (pid 1284) 275s run: logrotate: (pid 1280) 275s; run: log: (pid 1279) 275s run: nginx: (pid 1289) 275s; run: log: (pid 1288) 275s run: node-exporter: (pid 1287) 275s; run: log: (pid 1286) 275s run: postgres-exporter: (pid 1302) 275s; run: log: (pid 1301) 275s run: postgresql: (pid 1278) 275s; run: log: (pid 1274) 275s run: prometheus: (pid 1299) 275s; run: log: (pid 1294) 275s run: redis: (pid 1277) 275s; run: log: (pid 1273) 275s run: redis-exporter: (pid 1291) 275s; run: log: (pid 1290) 275s run: sidekiq: (pid 3104) 90s; run: log: (pid 1281) 275s run: unicorn: (pid 1276) 275s; run: log: (pid 1275) 275s


?

3、登錄gitlab http://172.25.83.1

?

用戶:root 第一次登錄需要強制修改密碼(密碼至少要8位)

用修改過后的密碼進行login

4、創建Project

?

<1>安裝Git工具linux:安裝Git,使用自帶的源安裝。—其實在之前配置Git本地倉庫時已經做過這步,這里不需要再做

[root@server1 ~]# yum install git -y


?

<2>生成密鑰文件:使用ssh-keygen生成密鑰文件.ssh/id_rsa.pub—其實在之前配置Git本地倉庫與Github遠程倉庫關聯時已經做過這步,這里不需要再做

[root@server1 ~]# ssh-keygen [root@server1 ~]# ls .ssh/ id_rsa ?id_rsa.pub ?

<3>在GitLab的主頁中新建一個Project

?

在web界面點擊“Create??a??project”:

在Project??name中填入要創建的項目的名稱(我這里創建的項目的名稱是test),勾選Initialize this repository with a README,這樣GitHub會自動為我們創建一個README.md文件。創建完畢后,可以看到README.md文件,并點擊“Create project“創建工程

根據提示,我們點擊橙色字體的“add??an??SSH??key”,進行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


點擊Add key

5、克隆項目test,在本地生成同名目錄,并且目錄中會有所有的項目文件

?

<1>進入創建的test項目主界面


點擊Your??projects

點擊Administrator / test

<2>將Gitlab上的遠程項目test克隆到本地

[root@server1 ~]# git clone git@172.25.83.1:root/test.git ? #在哪個目錄下執行該命令都可以,我這里想把克隆到本地的test項目放在root用戶的家目錄下,所以我這里在root用戶的家目錄下執行該名林。 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庫的地址換成你自己的,然后進入test目錄看看,已經有README.md文件了:

[root@server1 ~]# cd test/ [root@server1 test]# ls README.md [root@server1 test]# cat README.md? # test


?

6、我們可以在本地項目test中編輯內容,并將內容推送到Gitlab遠程項目test下

?

<1>添加git用戶信息—其實在之前配置Git本地倉庫時已經做過這步,這里不需要再做

[root@server1 demo]# git config --global user.name xjj ? #設置用戶名 [root@server1 demo]# git config --global user.email xjj@xjj.com ? #設置用戶郵箱


?

[root@server1 ~]# pwd /root [root@server1 ~]# cat .gitconfig? [user]name = xjjemail = xjj@xjj.com

<2>創建需要上傳到GitLab中的目標文件

[root@server1 test]# pwd /root/test [root@server1 test]# echo www.xin.com > index.html ? #必須在項目目錄test下執行該命令 [root@server1 test]# cat index.html? www.xin.com


?

<3>將index.html文件加入到索引中

[root@server1 test]# git add index.html

<4>將index.html提交到本地倉庫

[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服務器上

[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>在網頁中查看上傳的index.html文件已經同步到GitLab中

點擊index.html


?

總結

以上是生活随笔為你收集整理的Linux下GitLab的安装及使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。