一、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-cebaseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/repo_gpgcheck=0gpgcheck=0enabled=1gpgkey=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?statusrun:?gitlab-workhorse:?(pid?4824)?795s;?run:?log:?(pid?4800)?804srun:?logrotate:?(pid?4812)?796s;?down:?log:?0s,?normally?up,?want?uprun:?nginx:?(pid?4806)?798s;?run:?log:?(pid?4805)?798srun:?postgresql:?(pid?4679)?854s;?run:?log:?(pid?4678)?854srun:?redis:?(pid?4659)?860s;?run:?log:?(pid?4658)?860srun:?sidekiq:?(pid?4796)?806s;?run:?log:?(pid?4795)?806srun:?unicorn:?(pid?4770)?808s;?run:?log:?(pid?4769)?808s[root@linux-node2?~]#
二、gitlab管理與使用
第一次登錄gitlab,需要為root用戶修改密碼,root用戶也是gitlab的超級管理員。
使用root用戶和剛才創建的密碼登錄后,你就可以探索gitlab的奧秘了,可以點擊圖中紅框的按鈕進入管理區域。
在內網搭建服務器,運維人員自己根據需求創建用戶,而不是用戶自己注冊;因此需要將注冊的功能取消掉。如圖,點擊Admin Area---》settings
將Sign-up enabled功能取消掉
在頁面左下角點擊save。
在gitlab中有項目和組的概念;一個組里面可以包含不同的人,因此可以先創建組。
搭建私有的代碼倉庫,因此需要選擇Private
頁面右下角,點擊create group
接下來在組里創建項目
創建項目后,需要添加認證,以便于拉取代碼
在README.md中隨便添加一些內容,便于測試。
將linux-node1節點的www用戶的公鑰復制到SSHKeys內
注意,添加title時,命名最好規范一些,比如linux-node1-www表示linux-node1下www用戶的公鑰
拉取代碼的方式可以是通過http和SSH,這里我們選擇SSH方式
登陸到linux-node1,切換到www用戶,執行git clone,拉取代碼,如下
可以看到在gitlab頁面上編輯的README.md里面的內容
添加一個測試文件,里面隨意寫一些內容,進行測試。先git add *,將文件添加到索引庫中。接下來使用git commit命令將依據索引庫中的內容來進行文件的提交。第一次使用git commit –m “add index.html”時,會提示添加郵箱和姓名之類的提示,按照自己的情況添加即可。
使用git show查看commit后的版本號
截取前六位,這樣我們就可以使用短的版本號,進行代碼的拉取
將上一個博客中shell腳本進行改造,代碼版本獲取如圖所示:
最后通過在gitlab上拉取代碼,使用deploy1.sh腳本進行自動化部署,如圖所示:
部署成功后,在瀏覽器中進行驗證。Index.html中的內容確實為剛才所填寫的內容。
至此,在gitlab上拉取代碼后,自動化部署完畢。