CentOS7如何搭建GitLab

環境要求:內存至少4g,gitlab是很耗內存滴

一、 安裝并配置必要的依賴關系

在 CentOS 系統上,下面的命令將會打開系統防火墻 httpssh 的訪問。

$ 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’。

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

也可以配置自定義的 SMTP 服務器。

二、 添加 GitLab 鏡像倉庫并安裝

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

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….。
進入該網站后,有詳細的安裝步驟,跟著安裝即可。

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

$ 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,內容為

[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/ 目錄結構

/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

三、 配置并啟動 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

四、訪問

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

五、端口沖突問題

裝好后,你會發現一個問題;gitlab 其實是個web;他自帶了個nginx;如果你本身也是一臺服務器的話,上面也會裝有 apache 或者 nginx 等;那么端口就沖突了;

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

六、卸載GitLab

$ sudo gitlab-ctl stop # 停止 $ sudo rpm -e gitlab-ce # 卸載 $ ps aux | grep gitlab # 查看守護進程 $ kill -9 18777 # 殺掉守護進程 $ find / -name gitlab | xargs rm -rf # 刪除所有包含gitlab的文件

更多centos相關技術文章,請訪問centos教程欄目!

? 版權聲明
THE END
喜歡就支持一下吧
點贊11 分享