CentOS 7 搭建 GitLab


概述

GitLab 是我在日常工作中使用的代碼倉庫管理系統,它帶有非常友好的 Web 界面,並且功能豐富。下面將介紹我在 CentOS 7 上搭建 GitLab 的步驟,以及遇到的一些問題。

關於不同 Git 倉庫管理系統的對比,可參考這里,你會發現目前 GitLab 是最受歡迎的。


CentOS 7 搭建 GitLab

如果你使用的是 Windows 系統,可通過虛擬機 VMware 安裝 CentOS,進而搭建 GitLab。

關於如何在 CentOS 7 上搭建 GitLab,官方教程在這里,下面是詳細說明。

(一) SSH

安裝 ssh

sudo yum install -y curl policycoreutils-python openssh-server

將 ssh 服務設為開機自啟動

sudo systemctl enable sshd

開啟 ssh 服務

sudo systemctl start sshd

(二) 防火牆

安裝防火牆,如果已安裝了防火牆,則可跳過這一步

yum install firewalld systemd -y

開啟防火牆

service firewalld start

將 http 和 https 添加到防火牆,permanent 表示永久生效

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https

重啟防火牆

sudo systemctl reload firewalld

(三) Postfix

Postfix 用於發送通知郵件。如果你想使用其它方法來發送郵件,可以跳過這個步驟,在 GitLab 安裝完成后配置 SMTP 服務。

以下分別是安裝、設為自啟動以及開啟

sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix

(四) 安裝 GitLab

wget 用於下載 GitLab 安裝包,不過你也可以用其它方式下載

yum -y install wget

你可能還需要安裝 vim,后面通過它來修改 GitLab 的配置文件

yum install vim -y

下載 GitLab 安裝包,可以從官方提供的下載頁面下載,也可以從清華大學開源軟件鏡像站下載,可能鏡像站的下載速度會快點

wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.11.8-ce.0.el7.x86_64.rpm

安裝 GitLab

rpm -i gitlab-ce-11.11.8-ce.0.el7.x86_64.rpm

(五) 修改配置

等待安裝完成后,終端界面會提示你修改 /etc/gitlab/gitlab.rb 文件,通過設置 external_url l來配置你的 URL,通常情況下是你的服務器 ip 和端口號。

vim /etc/gitlab/gitlab.rb

終端界面還提示你通過下面的命令重新配置 GitLab

sudo gitlab-ctl reconfigure

到此為止,你在 CentOS 中的瀏覽器打開 http://localhost 或者 ip 及端口號,便可以看到 GitLab 的頁面了。


常見問題

(一) 設置靜態 IP

每次重啟電腦之后,電腦在網絡中的 IP 可能會發生變化,為此,我們需要設置一個靜態 IP。

在 CentOS 7 中,通過以下命令編輯網絡配置:

vim /etc/sysconfig/network-scripts/ifcfg-ens33

修改如下(僅供參考,根據你局域網的實際情況來配置),注意其中加注釋的幾處

PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static      # 使用靜態IP地址,默認是dhcp
IPADDR=192.168.5.122	# 設置的靜態IP
NETMASK=255.255.255.0	# 子網掩碼
GATEWAY=192.168.5.2   # 網關
DNS1=192.168.5.2      # DNS服務器
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=ens33
UUID=8df5a6e0-cba0-4f89-b55c-319d2616a985
DEVICE=ens33
ONBOOT=yes
ZONE=public

重啟網絡服務使修改后的配置生效

service network restart

如果你使用的是 Windows系統 + VMware 虛擬機,並且網絡適配器選擇了“NAT模式”,那么需要配置網絡端口轉發,將主機的端口與虛擬機的端口關聯起來,今后訪問主機 IP 便可間接訪問到虛擬機中的 GitLab。

(二) GitLab 中的時區不對

解決辦法:參考這里

(三) 如何漢化

解決辦法:參考這里

(四) Windows 系統 + VMware 相關

  1. 虛擬機無法開啟,提示 VMware Workstation 15 與 Device/Credential Guard 不兼容。
    解決辦法:關閉 Hyper-V,參考這里
  2. 局域網內其它電腦無法訪問。
    解決辦法:可能需要開放 Windows端口,參考這里

關於 Windows + Docker

我在網上搜尋在 Windows 中搭建 GitLab 的方法時,發現有使用 Docker 的方法,比如這篇:win10企業版在docker上部署gitlab,按照教程一步一步確實是可以運行 GitLab 並且可訪問的。

首先安裝 docker for windows,接下來在 Docker 中搭建 GitLab,參考這里

然而,這種方式是存在風險的。GitLab 官方文檔中並不推薦,主要因為存儲權限和其它一些未知問題,最嚴重的是它不支持持久化存儲,當你的服務器重啟之后,所有數據都會丟失。

所以,這種方法目前可能是不可取的(也許有解決辦法但是我不知道)。


參考文章

在寫這篇教程時,參考了如下的一些文章:

  1. VMware 安裝 CentOS + GitLab
  2. CentOS 7 設置靜態 ip


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM