前言
好久沒有更新過博客了,最近的工作確實比較忙(可以說忙的要死),前幾個月也在搞黑馬的在線教育,基本上已經差不多完成了,在線教育項目的文章也完成了大半,今天剛好有時間做個gitlab
安裝記錄。
最近公司換了新的代碼服務器,之前服務器是在亞馬遜上,價格相對貴點,爲了節約成本這次換到了國內的雲服務器;公司把Git
私服也換了,之前用的gitblit
,此次更新到了gitlab-ce(社區版)
;特此記錄下安裝、部署的過程。
相對來說gitlab
的功能以及界面等,都要比gitblit
好一些;但是就安裝來說,gitlab
的安裝比gitblit
的安裝要複雜很多。
GitLab介紹
GitLab
是由GitLab Inc.
開發,使用MIT許可證
的基於網絡的Git倉
庫管理工具,且具有wiki
和issue
跟蹤功能。 GitLab
由烏克蘭程序員Dmitriy Zaporozhets
和 Valery Sizov
開發,它由Ruby
寫成。後來,一些部分用Go
語言重寫。
主要功能
- 倉庫管理
- 公倉和私倉 (權限分配)
- 團隊和羣組管理
- CI/CD工具
- GitLab工作流
- …
安裝環境介紹
服務器
操作系統 | 內存 | 硬盤 | IP |
---|---|---|---|
CentOS 7 | 4G | 20G | 192.168.136.201 |
該服務器爲我本地虛擬機,需要保證服務器能夠正常連接外網。
安裝
安裝依賴(必要工作)
安裝必要的依賴,無論Omnibus
和Docker
安裝都需要。
# 依賴安裝
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/
測試創建了賬號和項目,沒有問題。