CentOS 7安裝部署GitLab

前言

好久沒有更新過博客了,最近的工作確實比較忙(可以說忙的要死),前幾個月也在搞黑馬的在線教育,基本上已經差不多完成了,在線教育項目的文章也完成了大半,今天剛好有時間做個gitlab安裝記錄。

最近公司換了新的代碼服務器,之前服務器是在亞馬遜上,價格相對貴點,爲了節約成本這次換到了國內的雲服務器;公司把Git私服也換了,之前用的gitblit,此次更新到了gitlab-ce(社區版);特此記錄下安裝、部署的過程。

相對來說gitlab的功能以及界面等,都要比gitblit好一些;但是就安裝來說,gitlab的安裝比gitblit的安裝要複雜很多。

GitLab介紹

GitLab是由GitLab Inc.開發,使用MIT許可證的基於網絡的Git倉庫管理工具,且具有wikiissue跟蹤功能。 GitLab 由烏克蘭程序員Dmitriy ZaporozhetsValery Sizov 開發,它由Ruby 寫成。後來,一些部分用Go 語言重寫。

主要功能

  • 倉庫管理
  • 公倉和私倉 (權限分配)
  • 團隊和羣組管理
  • CI/CD工具
  • GitLab工作流

安裝環境介紹

服務器

操作系統 內存 硬盤 IP
CentOS 7 4G 20G 192.168.136.201

該服務器爲我本地虛擬機,需要保證服務器能夠正常連接外網。

安裝

安裝依賴(必要工作)

安裝必要的依賴,無論OmnibusDocker安裝都需要。

# 依賴安裝
sudo yum install -y curl policycoreutils-python openssh-server

# 啓動ssh服務
sudo systemctl enable sshd
sudo systemctl start sshd

# 設置防火牆策略允許 http以及https
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld

# 安裝postfix並運行(gatlab默認郵件服務使用postfix)
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix

Omnibus安裝(yum)

獲取安裝包

# 獲取社區版
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

安裝gitlab

# 實際路徑以你的服務器IP爲準,也可以直接使用域名
# 安裝過程可能會有點緩慢
sudo EXTERNAL_URL="http://192.168.136.201" yum install -y gitlab-ce

如果此步不能下載的可以使用Plan B

Plan B(推薦)

使用清華大學的鏡像源

使用vi或者vim命令新建文件:/etc/yum.repos.d/gitlab_gitlab-ce.repo

若該文件已存在,將內容全部替換爲下方內容:

[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1

執行安裝命令

sudo EXTERNAL_URL="http://192.168.136.201" yum install -y gitlab-ce

此時下載速度應該就會快很多,但是安裝仍需要一些時間,請耐心等待。

在這裏插入圖片描述

看到這個狐狸標誌說明安裝成功了。

啓動GitLab

sudo gitlab-ctl reconfigure

訪問測試

訪問:http://192.168.136.201/

在這裏插入圖片描述

到此使用Omnibus安裝完成。

Docker安裝

Docker的安裝、運行,就不在這裏列出了,不會的兄弟可以百度一下哦,比較簡單。

拉取鏡像

# 拉取鏡像(可能需要一些時間,耐心等待)
docker pull gitlab/gitlab-ce:latest

如果速度實在太慢,可以給Docker掛阿里雲的鏡像加速器,具體操作,可以百度一下。

在這裏插入圖片描述

鏡像還是蠻大的,建議掛鏡像加速器。

運行容器

# 先創建目錄用於掛載容器數據
mkdir -p /root/gitlat/
# 運行容器
sudo docker run --detach \
  --hostname 192.168.136.201 \
  --publish 443:443 --publish 80:80 --publish 22222:22 \
  --name gitlab-ce \
  --restart always \
  --volume /root/gitlat/config:/etc/gitlab \
  --volume /root/gitlat/logs:/var/log/gitlab \
  --volume /root/gitlat/data:/var/opt/gitlab \
  gitlab/gitlab-ce:latest

查看啓動日誌:docker logs gitlab-ce

排錯

  • cannot create regular file ‘/etc/gitlab/gitlab.rb’: Permission denied

    # 修改selinux配置
    vim /etc/selinux/config
    # 將SELINUX=enforcing改爲SELINUX=disabled,修改後需要重啓
    reboot
    # 重啓成功後查看selinux狀態
    sestatus
    # 執行命令得到一下結果
    # SELinux status:                 disabled
    

    重啓容器。

  • 各種端口占用問題

    建議使用全新的機器安裝部署gitlab,否則就更換映射端口吧。

訪問測試

訪問:http://192.168.136.201/

測試創建了賬號和項目,沒有問題。

在這裏插入圖片描述

發佈了134 篇原創文章 · 獲贊 54 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章