gitlab

Gitlab利用Ruby on Rails開發的開元應用程序,從而實現一個代碼項目倉庫,可以通過web界面進行訪問公開的或者私有的項目

Ruby on Rails是一個可以使開發,部署,維護web應用程序變得簡單的框架

Gitlab擁有與Github類似的功能,能夠瀏覽源代碼,管理缺陷和註釋,可以管理團隊對倉庫的訪問,

非常易於瀏覽提交過的版本並提供一個文件歷史庫,另外還提供了一個代碼片段收集功能,可以輕鬆的實現代碼複用,便於日後需要的時候可以進行查找


相同點:兩者都是基於web的GIt倉庫,在很多大程度上Gitlab是模仿github來做的,都是分享開源項目的平臺,爲開發團隊提供了存儲,分享,發佈以及合作開發項目的中心化雲存儲的場所

不同點:GitHub在使用私有倉庫需要收費的,而Gitlab可在在上面創建免費的私有倉庫,另外Gitlab對於開發團隊來說,擁有很多的控制權限;

相對於github,有着更多的特色,如免費甚至倉庫權限,允許用戶選擇分享一個project的部分代碼;允許用戶設置project的獲取權限從而進一步提升安全性;可以有選擇性的控制訪問權限;

代碼性能方面:如果不希望公司員工獲取全部的代碼,這個時候Gitlab是最好的首選,如果是個人開源項目而言,Github是代碼的首選


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

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

github:一個基於git實現的在線代碼倉庫,包含一個網站界面,開放面廣

gitlab:一個基於git實現的在線代碼倉庫,一般用於企業內網搭建git私服

PS:Gitlab-ce社區版本;gitlab-ee是企業版,收費


實驗環境

centos7.3_x64


驗軟件

gitlab-ce-10.2.3-ce.0.el7.x86_64.rpm

gitlab-patch-zh.tat.gz   gitlab漢化包


軟件安裝

cp -pv /etc/hosts /etc/hosts.bak

echo 192.168.2.117 gitlab.example.com > /etc/hosts

cat /etc/hosts

服務器ip  gitlab.example.com

cat /etc/redhat-release 

CentOS Linux release 7.3.1611 (Core)

free -m

                    total        used        free      shared  buff/cache   available

Mem:           3783         103        3542           8         137        3479

Swap:           2047           0        2047     物理內存必須4G以及4G以上以免發生訪問時出現502錯誤


yum install -y curl curl-delve git  policycoreutils  policycoreutils-python  patch patch-devel  openssh-server openssh-clients postfix

rpm -ivh /root/gitlab-ce-10.2.3-ce.0.el7.x86_64.rpm

tar zxvf gitlab-patch-zh.tat.gz -C /usr/src/

cat /usr/src/gitlab/VERSION 

10.2.3

cd /usr/src/gitlab/

git diff  v10.2.3 v10.2.3-zh > ../10.2.3-zh.diff

patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < /usr/src/10.2.3-zh.diff    打漢化補丁

1.jpg


gitlab-ctl start:啓動全部服務

gitlab-ctl restart:重啓全部服務

gitlab-ctl stop:停止全部服務

gitlab-ctl reconfigure: 使配置文件生效(一般修改完主配置文件/etc/gitlab/gitlab.rb,需要執行此命令)

gitlab-ctl show-config :驗證配置文件

gitlab-ctl uninstall:刪除gitlab(保留數據)

gitlab-ctl cleanse:刪除所有數據,從新開始


gitlab-ctl reconfigure  加載配置從新初始化

Running handlers:

Running handlers complete

Chef Client finished, 382/541 resources updated in 01 minutes 54 seconds

gitlab Reconfigured!

gitlab-ctl status

run: gitaly: (pid 3467) 166s; run: log: (pid 3210) 198s

run: gitlab-monitor: (pid 3488) 166s; run: log: (pid 3305) 190s

run: gitlab-workhorse: (pid 3454) 167s; run: log: (pid 3166) 207s

run: logrotate: (pid 3195) 200s; run: log: (pid 3194) 200s

run: nginx: (pid 3172) 206s; run: log: (pid 3171) 206s

run: node-exporter: (pid 3292) 192s; run: log: (pid 3291) 192s

run: postgres-exporter: (pid 3510) 165s; run: log: (pid 3352) 180s

run: postgresql: (pid 2943) 245s; run: log: (pid 2942) 245s

run: prometheus: (pid 3498) 165s; run: log: (pid 3334) 182s

run: redis: (pid 2876) 256s; run: log: (pid 2875) 256s

run: redis-exporter: (pid 3319) 188s; run: log: (pid 3318) 188s

run: sidekiq: (pid 3149) 213s; run: log: (pid 3148) 213s

run: unicorn: (pid 3108) 219s; run: log: (pid 3107) 219s

netstat -tuplna | grep 80

tcp        0      0 127.0.0.1:8080          0.0.0.0:*               LISTEN      3127/unicorn master 

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      3172/nginx: master  

tcp        0      0 0.0.0.0:8060            0.0.0.0:*               LISTEN      3172/nginx: master  

tcp        0      0 127.0.0.1:8080          127.0.0.1:57626         TIME_WAIT   -                   

tcp        0      0 127.0.0.1:8080          127.0.0.1:57698         TIME_WAIT   -                   

tcp        0      0 127.0.0.1:8080          127.0.0.1:57674         TIME_WAIT   -                   

tcp        0      0 127.0.0.1:8080          127.0.0.1:57650         TIME_WAIT   -                   

udp6       0      0 fe80::3888:124b:494:123 :::*                                640/ntpd 


http://192.168.2.117/

2.jpg

用戶名爲 root 密碼爲新密碼設置


創建項目

3.jpg

3.jpg


4.jpg


5.jpg


創建登入用戶 修改登入密碼

1.jpg


2.jpg


3.jpg


4.jpg


5.jpg



cd /var/www/html/   此目錄爲測試按照環境變化

git clone http://gitlab.example.com/root/test.git

Cloning into 'test'...

remote: Counting objects: 3, done.

remote: Total 3 (delta 0), reused 0 (delta 0)

Unpacking objects: 100% (3/3), done.

ll /var/www/html/test/index.html 

/var/www/html/test/index.html   

less /var/www/html/test/index.html 

welcome to gitlab server      測試服務端是否可以從服務端下載代碼


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章