DevOps元素周期表——1號元素 Gitlab
- 2020 年 10 月 8 日
- 筆記
DevOps元素周期表——1號元素 Gitlab
GitLab 是由 GitLab Inc.開發,一款基於 Git 的完全集成的軟體開發平台(fully integrated software development platform)。另外,GitLab 且具有wiki以及在線編輯、issue跟蹤功能、CI/CD 等功能。
一. 簡介
GitLab是一個利用 Ruby on Rails 開發的開源應用程式,實現一個自託管的Git項目倉庫,可通過Web介面進行訪問公開的或者私人項目。
它擁有與Github類似的功能,能夠瀏覽源程式碼,管理缺陷和注釋。可以管理團隊對倉庫的訪問,它非常易於瀏覽提交過的版本並提供一個文件歷史庫。它還提供一個程式碼片段收集功能可以輕鬆實現程式碼復用,便於日後有需要的時候進行查找。
GitLab 5.0以前版本要求伺服器端採用 Gitolite 搭建,5.0版本以後不再使用 Gitolite ,採用自己開發的 gitlab-shell 來實現。如果你覺得安裝麻煩可以使用 GitLab Installers 一鍵安裝程式。
二. 安裝配置
-
系統
Centos7
-
準備工作
-
關閉firewalld防火牆
- systemctl stop firewalld
- systemctl disable firewalld
-
關閉SELINUX並重啟系統
-
vi /etc/sysconfig/selinux
SELINUX=disabled
-
reboot
-
-
-
開始安裝
安裝Omnibus Gitlab-ce package
# yum -y install curl policycoreutils openssh-server openssh-clients postfix
配置YUM倉庫
# curl -sS //packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
啟動postfix郵件服務
# systemctl start postfix && systemctl enable postfix
安裝Gitlab-ce社區版本
# yum install -y gitlab-ce
證書創建與配置載入
Nginx SSL代理服務配置
初始化Gitlab相關服務並完成安裝
# mkdir -p /etc/gitlab/ssl # openssl genrsa -out "/etc/gitlab/ssl/gitlab.example.com.key" 2048 # openssl req -new -key "/etc/gitlab/ssl/gitlab.example.com.key" -out "/etc/gitlab/ssl/gitlab.example.com.csr"
# openssl x509 -req -days 365 -in "/etc/gitlab/ssl/gitlab.example.com.csr" -signkey "/etc/gitlab/ssl/gitlab.example.com.key" -out "/etc/gitlab/ssl/gitlab.example.com.crt"
# chmod 600 *
# vi /etc/gitlab/gitlab.rb
將eternal_url '//gitlab.example.com' 改為https
nginx['redirect_http_to_https'] = false 刪除注釋,改為true
nginx['ssl_certificate'] = "etc/gitlab/ssl/#{node...}.crt" 改為 "/etc/gitlab/ssl/gitlab.example.com.cre"
nginx['ssl_certificate_key'] = "etc/gitlab/ssl/#{node...}.key" 改為 "/etc/gitlab/ssl/gitlab.example.com.key"
nginx['ssl_dhparam'] = "/etc/gitlab/ssl/dhparams.pem"
# gitlab-ctl reconfigure
# vi /var/opt/gitlab/nginx/conf/gitlab-http.conf
server_name下面添加rewrite ^(.*)$ //$host$1 permanent
# gitlab-ctl restart
修改本地hosts文件
vmware-ip(虛擬機ip地址) gitlab.example.com
瀏覽器訪問,登錄修改admin帳號密碼
當然還可以通過docker來安裝,不過對於gitlab這種服務,並不推薦使用docker,因為其服務依賴系統資源強,而且你的倉庫也不希望一個簡單的docker rm命令就可以被連帶銷毀掉。