1. 程式人生 > 其它 >CentOS-7 搭建gitlab倉庫

CentOS-7 搭建gitlab倉庫

參考文件

1、硬體要求

建議伺服器配置
4核 4GB記憶體 支援500個使用者
8核 8GB記憶體 支援1000個使用者

2、安裝環境

CentOS-7

3、安裝 wget

yum install wget

4、安裝相關依賴

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

啟動sshd

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

重新整理防火牆的規則

iptables -F

設定postfix開機自啟,並啟動,postfix支援gitlab發郵件功能

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

6、新增gitlab的yum源

從官網獲取一件安裝指令碼,當然自己手動安裝也是可以的gitlab下載地址,使用官網指令碼會簡單一些。執行這一步會如果使用CentOS系統,會新增gitlab的yum源
//輸出到檔案裡是為了看下下載的指令碼內容

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh > rpm.sh
chmod +x rpm.sh
./rpm.sh

7、安裝gitlab

使用yum安裝gitlab

yum install -y gitlab-ee

可以看下gitlab-ee包的內容,看到gitlab安裝在/opt/gitlab目錄下

rpm -ql gitlab-ee | less

8、配置gitlab監聽的地址與埠

上面已經安裝好了gitlab,不過可以稍作一些配置,配置gitlab監聽的地址與埠,gitlab的配置檔案在/etc/gitlab/目錄下,主要配置檔案為gitlab.rb
我修改了下gitlab.rb檔案中的nginx監聽地址,

vi /etc/gitlab/gitlab.rb
external_url 'http://gitlab.ai-he.me'
nginx['listen_addresses'] = ['0.0.0.0', '[::]']

系統埠衝突,我把埠改為了82

nginx['listen_port'] = 82

9、執行gitlab命名,並重啟

重新配置gitlab

sudo gitlab-ctl reconfigure

重啟gitlab

gitlab-ctl restart

檢視gitlab-ctl命令的幫助資訊

gitlab-ctl --help

10、把埠新增到防火牆

firewall-cmd --zone=public --add-port=82/tcp --permanent
firewall-cmd --reload

11、管理員賬號初始化:

參考文件

進入 GitLab 控制檯

[root@localhost ~]# gitlab-rails console -e production

注意:GitLab 版本不同,命令會有所不同(網上說的而基本都是 gitlab-rails console production ),推薦大家直接上 GitLab 官網去找對應版本的命令
當出現如下資訊表示我們成功登入控制檯

[root@localhost ~]# gitlab-rails console -e production
--------------------------------------------------------------------------------
 GitLab: 12.8.7 (b679f55a199) FOSS
 GitLab Shell: 11.0.0
 PostgreSQL: 10.12
--------------------------------------------------------------------------------
Loading production environment (Rails 6.0.2)
irb(main)

選擇root使用者

user = User.where(id: 1).first ,此 user 則表示 root 使用者

修改密碼

user.password = 'secret_pass' 修改密碼,
user.password_confirmation = 'secret_pass' 確認密碼
user.password = 'gdbxd1688' ,
user.password_confirmation = 'gdbxd1688'

儲存密碼

 user.save!

退出控制檯

exit