CentOS7搭建GitLab

官方中文教程 https://www.gitlab.com.cn/ins...
Docker 方式安裝 GitLab 請見(推薦使用Docker安裝): https://segmentfault.com/a/11...

環境要求:內存至少4G,GitLab是很耗內存滴html

1、 安裝並配置必要的依賴關係

在 CentOS 系統上,下面的命令將會打開系統防火牆 HTTP 和 SSH 的訪問。python

$ sudo yum install -y curl policycoreutils-python openssh-server
$ sudo systemctl enable sshd
$ sudo systemctl start sshd
$ sudo firewall-cmd --permanent --add-service=http
$ sudo systemctl reload firewalld

安裝 Postfix ,用來發送郵件,在安裝 Postfix 的過程當中選擇 'Internet Site'。nginx

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

也能夠配置自定義的 SMTP 服務器git

2、 添加 GitLab 鏡像倉庫並安裝

gitlab-ce 是社區版,免費
gitlab-ee 是企業版,收費web

2.1 使用官方鏡像安裝

$ curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

$ sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ce # 安裝 GitLab

2.2 使用國內鏡像安裝(推薦)

若是提示鏈接超時,可使用 清華大學開源軟件鏡像站https://mirror.tuna.tsinghua....
進入該網站後,有詳細的安裝步驟,跟着安裝便可。redis

這裏介紹一下在CentOS中使用 清華大學開源軟件鏡像站安裝:
先還原yum源, 刪掉gitlab-ce源 :sql

$ ls -l /etc/yum.repos.d/ # 查看源配置項
$ mv /etc/yum.repos.d/gitlab_gitlab-ce.repo /etc/yum.repos.d/gitlab_gitlab-ce.repo.bak # 備份源配置項(也能夠直接刪除 rm)

新建 /etc/yum.repos.d/gitlab-ce.repo,內容爲shell

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

再執行數據庫

$ sudo yum makecache
$ sudo yum install gitlab-ce

安裝完之後 /opt/gitlab/ 目錄結構apache

/opt/gitlab/
├── backups
├── git-data
│   └── repositories
│       └── root
├── gitlab-ci
│   └── builds
├── gitlab-rails
│   ├── etc
│   ├── shared
│   │   ├── artifacts
│   │   ├── lfs-objects
│   │   └── pages
│   ├── sockets
│   ├── tmp
│   ├── upgrade-status
│   ├── uploads
│   └── working
├── gitlab-shell
├── gitlab-workhorse
├── logrotate
│   └── logrotate.d
├── nginx
│   ├── client_body_temp
│   ├── conf
│   ├── fastcgi_temp
│   ├── logs -> /var/log/gitlab/nginx
│   ├── proxy_cache
│   ├── proxy_temp
│   ├── scgi_temp
│   └── uwsgi_temp
├── postgresql
│   └── data
│       ├── base
│       │   ├── 1
│       │   ├── 12918
│       │   ├── 12923
│       │   └── 16385
│       ├── global
│       ├── pg_clog
│       ├── pg_multixact
│       │   ├── members
│       │   └── offsets
│       ├── pg_notify
│       ├── pg_serial
│       ├── pg_snapshots
│       ├── pg_stat_tmp
│       ├── pg_subtrans
│       ├── pg_tblspc
│       ├── pg_twophase
│       └── pg_xlog
│           └── archive_status
└── redis

3、 配置並啓動 GitLab

啓動命令

$ sudo gitlab-ctl reconfigure # 首次啓動也要用此命令。從新加載配置並啓動
$ sudo gitlab-ctl start # 啓動
$ sudo gitlab-ctl stop # 中止

/etc/gitlab/ 目錄結構:

/etc/gitlab/
├── gitlab.rb
├── gitlab-secrets.json
└── ssl
    └── trusted-certs

gitLab基本配置集中在 /etc/gitlab/gitlab.rb 文件, 每一個參數的做用和配置請參考官網的配置說明.
配置參數:

### Advanced settings
# unicorn['listen'] = 'localhost'
# unicorn['port'] = 8090 #默認是8080端口


nginx['listen_port'] = 8081  # gitlab nginx 端口。默認端口爲:80 

external_url 'http://192.168.137.129' # clone時顯示的地址,gitlab 的域名

配置:

$ sudo gitlab-ctl stop # 先中止 GitLab 服務 
$ vim /etc/gitlab/gitlab.rb # 修改配置文件

進行任何改動後, 保存退出, 在命令行逐個輸入如下命令使配置生效

啓動數據庫, 否則 reconfigure 報錯

$ sudo gitlab-ctl restart postgresql
$ sudo gitlab-ctl reconfigure
$ sudo gitlab-ctl start

4、訪問

系統默認的管理員帳號爲 root,第一次訪問 GitLab,會要求初始化管理員帳號的密碼。

5、端口衝突問題

裝好後,你會發現一個問題;gitlab 實際上是個web;他自帶了個nginx;若是你自己也是一臺服務器的話,上面也會裝有 apache 或者 nginx 等;那麼端口就衝突了;

更改gitlab自帶nginx的默認端口便可

6、卸載GitLab

$ sudo gitlab-ctl stop # 中止
$ sudo rpm -e gitlab-ce # 卸載
$ ps aux | grep gitlab # 查看守護進程
$ kill -9 18777 # 殺掉守護進程
$ find / -name gitlab | xargs rm -rf # 刪除全部包含gitlab的文件
相關文章
相關標籤/搜索