從gitlab上拉取代碼並一鍵部署

一、gitlab安裝

GitLab是一個利用 Ruby on Rails 開發的開源應用程序,實現一個自託管的Git項目倉庫,可通過Web界面進行訪問公開的或者私人項目。

GitLab擁有與Github類似的功能,能夠瀏覽源代碼,管理缺陷和註釋。可以管理團隊對倉庫的訪問,它非常易於瀏覽提交過的版本並提供一個文件歷史庫。它還提供一個代碼片段收集功能可以輕鬆實現代碼複用,便於日後有需要的時候進行查找。

1、基礎環境準備

[root@linux-node2 ~]# yum install curl policycoreutils openssh-server openssh-clients postfix
[root@linux-node2 ~]# systemctl start postfix

2、安裝gitlab-ce

首先配置yum源,使用國內的鏡像

vi /etc/yum.repos.d/gitlab-ce.repo

[gitlab-ce]
name=gitlab-ce
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
repo_gpgcheck=0
gpgcheck=0
enabled=1
gpgkey=https://packages.gitlab.com/gpg.key

通過yum安裝gitlab-ce

[root@linux-node2 ~]# yum makecache
[root@linux-node2 ~]# yum install gitlab-ce

3、配置並啓動gitlab-ce

使用gitlab-ctl配置gitlab

[root@linux-node2 ~]# gitlab-ctl reconfigure

查看gitlab狀態

[root@linux-node2 ~]# gitlab-ctl status
run: gitlab-workhorse: (pid 4824) 795s; run: log: (pid 4800) 804s
run: logrotate: (pid 4812) 796s; down: log: 0s, normally up, want up
run: nginx: (pid 4806) 798s; run: log: (pid 4805) 798s
run: postgresql: (pid 4679) 854s; run: log: (pid 4678) 854s
run: redis: (pid 4659) 860s; run: log: (pid 4658) 860s
run: sidekiq: (pid 4796) 806s; run: log: (pid 4795) 806s
run: unicorn: (pid 4770) 808s; run: log: (pid 4769) 808s
[root@linux-node2 ~]#

二、gitlab管理與使用

第一次登錄gitlab,需要爲root用戶修改密碼,root用戶也是gitlab的超級管理員。

wKioL1e2uG6hh2b-AAA9X5k0X0A505.jpg-wh_50


使用root用戶和剛纔創建的密碼登錄後,你就可以探索gitlab的奧祕了,可以點擊圖中紅框的按鈕進入管理區域。

wKiom1e2uzfgGCXRAAA1XPhCmDA502.jpg-wh_50

wKioL1e2u4DjFcUUAAAxzczbnUs700.jpg-wh_50

在內網搭建服務器,運維人員自己根據需求創建用戶,而不是用戶自己註冊;因此需要將註冊的功能取消掉。如圖,點擊Admin Area---settings

wKioL1e2u4yAdkBQAAAwgoBdxws880.jpg-wh_50

wKiom1e2u4_iAdFNAAAzqEXLZS0053.jpg-wh_50

Sign-up enabled功能取消掉

wKiom1e2u5GCI1HNAAAxODaevYo071.jpg-wh_50

在頁面左下角點擊save

gitlab中有項目和組的概念;一個組裏面可以包含不同的人,因此可以先創建組。

wKioL1e2u5OBDj6jAAAsVPj5aeQ445.jpg-wh_50

wKiom1e2u5ayIXOiAAA6B_e5kXk185.jpg-wh_50

搭建私有的代碼倉庫,因此需要選擇Private

wKioL1e2u5iBUcaOAAA2suK5n7U480.jpg-wh_50

頁面右下角,點擊create group

接下來在組裏創建項目

wKiom1e2u5zR3WYAAABBzqSqEUg887.jpg-wh_50

wKioL1e2u53CoOiEAABBee42Rak305.jpg-wh_50

創建項目後,需要添加認證,以便於拉取代碼

wKiom1e2u57gHUrdAABB0zb-UBQ070.jpg-wh_50

wKioL1e2u5_zhp_AAAA6XgWuFuY183.jpg-wh_50

README.md中隨便添加一些內容,便於測試。

wKiom1e2u6DT9YKHAAAqdq6rjSI873.jpg-wh_50


wKiom1e2u6CgmGEoAAA8lGR4408994.jpg-wh_50

linux-node1節點的www用戶的公鑰複製到SSHKeys

wKioL1e2u6GiOk9qAAA9_cPeXSg354.jpg-wh_50

注意,添加title時,命名最好規範一些,比如linux-node1-www表示linux-node1www用戶的公鑰

wKioL1e2u6LRLT0UAABBFHBsvIg931.jpg-wh_50

拉取代碼的方式可以是通過httpSSH,這裏我們選擇SSH方式

wKioL1e2u6PQDwqSAAA3Cp1xM9Y087.jpg-wh_50

登陸到linux-node1,切換到www用戶,執行git clone,拉取代碼,如下

wKiom1e2u6ShRx--AAAmEiMkpig626.jpg-wh_50

可以看到在gitlab頁面上編輯的README.md裏面的內容

wKioL1e2u6WTjNZmAAAnbYyDIt8192.jpg-wh_50

wKiom1e2u6bwSExXAAAnZOUXz7I520.jpg-wh_50

添加一個測試文件,裏面隨意寫一些內容,進行測試。先git add *,將文件添加到索引庫中。接下來使用git commit命令將依據索引庫中的內容來進行文件的提交。第一次使用git commit –m “add index.html”時,會提示添加郵箱和姓名之類的提示,按照自己的情況添加即可。

wKioL1e2u6eDqIHEAAB0a5N1Ox8240.jpg-wh_50

使用git show 查看commit後的版本號

wKioL1e2u6nCMXrQAAA7PCM-H7k595.jpg-wh_50

wKiom1e2u6qDbX1IAAAaU9rWQWQ538.jpg-wh_50

截取前六位,這樣我們就可以使用短的版本號,進行代碼的拉取

wKiom1e2u6vx5pWNAAAoTqm1j7g173.jpg-wh_50

將上一個博客中shell腳本進行改造,代碼版本獲取如圖所示:

wKioL1e2u6yj2fXmAABCDgxCnzo278.jpg-wh_50

最後通過在gitlab上拉取代碼,使用deploy1.sh腳本進行自動化部署,如圖所示:

wKiom1e2u67D1V7MAAA2kl56law563.jpg-wh_50

部署成功後,在瀏覽器中進行驗證。Index.html中的內容確實爲剛纔所填寫的內容。

至此,在gitlab上拉取代碼後,自動化部署完畢。

wKioL1e2u6_T93muAAAVsO0s17w161.jpg-wh_50

 



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