02【前端工程化初探】GitLab本地部署

概述

這篇文章先來預熱一下,我們在自己的虛擬機裏搭建一套GitLab環境,然後自己就可以使勁折騰。具體搭建步驟如下。

 

系統環境

系統:CentOS 8.1

內存:4G起步

硬盤:50G(僅供測試環境)

IP:192.168.0.104

 

具體操作步驟

一、CentOS 8.1安裝

1、到CentOS官網(https://www.centos.org/)下載最新版的安裝鏡像,如下圖所示:

2、使用VirtualBox安裝CentOS 8.1的虛擬機。首先在VirtualBox中選擇新建虛擬機,然後在彈出的面板中輸入虛擬機相關的信息,包括虛擬機名稱、存放目錄、虛擬機類型、虛擬機內存、硬盤大小等,設置完後點擊確定即可完成一個虛擬機的初始創建,如下:

3、初始化後的虛擬機是沒有關聯鏡像的,所以我們接下來進行關聯鏡像。點擊【設置】菜單,然後選擇【存儲】選項卡,打開存儲設置面板,如下:

在此面板選擇控制器下的“沒有盤片”字樣,然後點擊圖中位置進行鏡像文件的選擇和關聯,如下:

點擊確定後即可完成鏡像文件的關聯操作。

4、同樣的在設置面板選擇【系統】選項卡,然後將光驅啓動設置爲第一啓動項,如下圖所示:

5、點擊【啓動】菜單按鈕,開始虛擬機的安裝,如下:

6、點擊啓動按鈕後,虛擬機CentOS 8.1的安裝過程其實就和我們普通的CentOS系統安裝沒有任何區別了,我們只需要簡單的配置下安裝時候所需要的一些信息即可,比如我配置了安裝桌面選項,如下圖(這個過程中的有些參數如果有不明白的,直接網上找資料即可,資料是非常多的,沒必要在此處做重複的介紹):

如果點擊重啓後又重新進入到了安裝界面,我們只需要點擊上方的【控制】菜單,然後打開設置面板,在存儲選項卡下將我們之前添加的CentOS鏡像盤片卸載掉即可,因爲這時候系統已經安裝好了,它就沒有存在的必要了。卸載之後重啓虛擬機即可正常進入系統了,如下:

7、如上所示,CentOS 8.1系統安裝成功。

二、GitLab部署

通過以上操作我們完成了CentOS 8.1虛擬機的安裝,接下來就開始部署GitLab。使用XShell等工具連接安裝的CentOS 8.1虛擬機,在連接過程中如果發現虛擬機的IP是10.0.2.15或者說虛擬機壓根就沒有IP信息,這就需要我們爲虛擬機配置網絡信息和啓動網卡,具體操作步驟請查閱網絡資料即可。

虛擬機網絡配置正常後,我們接下來進行GitLab的配置。

1、GitLab的安裝部署其實直接看官網的文檔即可,裏面描寫的很清楚,地址如下:

https://about.gitlab.com/install/#centos-8

2、首先我們使用以下命令來打開防火牆中的HTTP、HTTPS、SSH通道,如下:

sudo dnf install -y curl policycoreutils openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd
# Check if opening the firewall is needed with: sudo systemctl status firewalld
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld

3、然後通過以下命令來安裝Postfix來實現郵件通知功能,如下:

sudo dnf install postfix
sudo systemctl enable postfix
sudo systemctl start postfix

4、接下來進行安裝和配置GitLab,如下:

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
sudo EXTERNAL_URL="http://localhost" dnf install -y gitlab-ee

5、安裝完成後,使用如下命令安裝Vim編輯器:

yum install vim -y

6、使用如下命令配置gitlab的訪問IP和端口:

vim /etc/gitlab/gitlab.rb

將我們安裝是指定的localhost改成虛擬機IP,端口指定一個另外的端口,如上圖所示。修改成功後,使用如下命令使配置生效,並且重啓gitlab:

gitlab-ctl reconfigure
gitlab-ctl restart

7、通過以下命令開放8088端口:

firewall-cmd --zone=public --list-ports #查看開放端口
firewall-cmd --zone=public --add-port=8088/tcp --permanent #開放8088端口
firewall-cmd --reload   #重新加載配置
#如果不需要,也可以直接關閉防火牆
systemctl stop firewalld.service

8、瀏覽器通過地址"http://192.168.0.104:8088/"地址來訪問gitlab,初次訪問會被重定向到密碼修改界面,初始賬戶爲:

初始賬戶: root 密碼:5iveL!fe

登錄修改密碼後,頁面會自動會到登錄界面,我們用新密碼登錄即可進入到部署的GitLab,如下所示:

9、使用如下命令進入到虛擬機網卡設置目錄,設置虛擬機靜態IP,如下:

cd /etc/sysconfig/network-scripts/
vi ifcfg-enp0s3

然後在文件中做如下修改:

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"

#動態ip
#BOOTPROTO="dhcp"

#靜態IP
BOOTPROTO=static
IPADDR=192.168.0.104 ## 你想要的靜態ip
NETMASK=255.255.255.0 #子網掩碼爲物理機子網掩碼(subnet mask) 
GATEWAY=192.168.0.1 #跟物理機網關相同

DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp0s3"
UUID="0dd666ac-c97e-4b6a-898e-0765ba16246d"
DEVICE="enp0s3"
ONBOOT="yes"

保存退出後,使用如下命令重啓網卡:

nmcli c reload

至此,虛擬機靜態IP設置成功。

10、使用如下命令進行郵箱配置:

vim /etc/gitlab/gitlab.rb

然後在配置文件中添加如下信息:​

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "[email protected]"
gitlab_rails['smtp_password'] = "ddddddddddwwwww"
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = :login
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = '[email protected]'

#修改gitlab配置的發信人
gitlab_rails['gitlab_email_from'] = "[email protected]"
user["git_user_email"] = "[email protected]"  # 必須是一個具體的郵箱。不能瞎編

配置保存之後,使用如下命令進行配置生效和gitlab重啓:

gitlab-ctl reconfigure
gitlab-ctl restart

重啓成功後,使用如下命令開啓虛擬機的465端口,如下:

firewall-cmd --zone=public --list-ports #查看開放端口
firewall-cmd --zone=public --add-port=465/tcp --permanent #開放465端口
firewall-cmd --reload   #重新加載配置
#如果不需要,也可以直接關閉防火牆
systemctl stop firewalld.service

然後使用如下命令進行郵箱配置的測試:

gitlab-rails console
Notify.test_email('[email protected]','X北辰北','測試郵件').deliver_now

如果出現以下報錯信息,是因爲我們的郵箱沒有開啓SMTP服務導致:

我們打開QQ郵箱的設置界面,然後切換到【賬戶】選項卡,在頁面底部選擇打開相應的服務,打開後會給我們一段授權碼,然後我們將授權碼粘貼到gitlab的配置文件中,重新使之生效和啓動gitlab,如下:

使用命令打開gitlab配置文件,替換配置文件中的郵箱密碼爲生成的授權碼:

然後同樣的,使用如下命令使配置生效和重啓gitlab:

gitlab-ctl reconfigure
gitlab-ctl restart

gitlab重啓後,我們使用上述的測試命令再次進行測試,如果郵件成功發送,則說明郵箱配置成功,如下:

11、打開"C:\Users\用戶名\.ssh"目錄,將裏面id_rsa.pub文件裏的信息複製粘貼到gitlab,就完成了gitlab的ssh配置,然後我們接下來進行測試。

12、我們在gitlab中新建一個項目,然後將它git clone到本地,如下:

然後修改裏面的README文檔或者自己新建一個html頁面,使用git將它提交,如果成功提交,則說明我們的gitlab到目前爲止完成了基礎的配置,如下:

此時我們的GitLab環境安裝部署成功。

 

總結

這篇文章在部署成功GitLab的同時,我們還配置了郵件發送,當我們提交代碼後,郵箱會收到相應的提示信息。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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