GitLab程式碼託管伺服器安裝
一、gitlab簡介
Gitlab是一個用於倉庫管理系統的開源專案,使用Git作為程式碼管理工具,並在此基礎上搭建起來的web服務。
GitLab和GitHub一樣屬於第三方基於Git開發的作品,免費且開源(基於MIT協議),與Github類似,可以註冊使用者,任意提交你的程式碼,新增SSHKey等等。不同的是,GitLab是可以部署到自己的伺服器上,資料庫等一切資訊都掌握在自己手上
二、GitLab安裝部署
方式1:二進位制包安裝
-
安裝相關依賴項
yum -y install policycoreutils openssh-server openssh-clients postfix
-
啟動
ssh
服務&設定為開機啟動systemctl enable sshd && sudo systemctl start sshd
-
設定
postfix
開機自啟並啟動,postfix支援gitlab發信功能systemctl enable postfix && systemctl start postfix
-
開放ssh以及http服務,然後重新載入防火牆列表
firewall-cmd --add-service=ssh --permanent firewall-cmd --add-service=http --permanent firewall-cmd --reload # 如果關閉防火牆了就不需要做以上配置
-
下載gitlab包,並且安裝
# 線上下載安裝包 wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/gitlab-ce-13.6.4-ce.0.el6.x86_64.rpm # 安裝 rpm -i gitlab-ce-12.4.2-ce.0.el6.x86_64.rpm
-
修改gitlab配置
vi /etc/gitlab/gitlab.rb
修改gitlab訪問地址和埠,預設為80,我們改為88
external_url 'http://192.168.66.100:88'
nginx['listen_port'] = 88
-
重新配置及啟動gitlab
gitlab-ctl reconfigure gitlab-ctl restart
-
把埠新增到防火牆(如果已經關閉防火牆,此處可忽略)
firewall-cmd --zone=public --add-port=88/tcp --permanent firewall-cmd --reload
啟動成功後,看到以下修改管理員root密碼的頁面,修改密碼後,然後登入即可
注意:
-
1、執行
gitlab-ctl start
來啟動gitlab的服務 -
2、首次登入Gitlab需要重置密碼,使用者是root,設定密碼後,就可以登入成功,(密碼:shizhenxing)
-
3、gitlab會有很多的元件,如nginx等,所以就涉及到如何檢視日誌資訊,如果是查詢所有的log資訊,執行的命令是:
gitlab-ctl tail
;
假設查詢nginx的log,執行的命令為:gitlab-ctl tail ${nginx}
方式2:Docker快速部署GitLab
sudo docker run --detach \
--hostname gitlab.szx.top \
--publish 443:443 --publish 80:80 --publish 222:22 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
detach:後臺執行、hostname:域名
publish:容器埠號與宿主機埠號對映關係 。 宿主機埠:容器埠
name:啟動映象的名稱
restart always:重啟方式、遇見伺服器宕機、停電等會自動重啟
volume:載入資料卷,目錄對映。 伺服器本地目錄:映象內目錄
三、GitLab完全解除安裝
1、停止gitlab
gitlab-ctl stop
2、解除安裝gitlab(注意這裡寫的是gitlab-ce)
rpm -e gitlab-ce
3、檢視gitlab程序
ps aux | grep gitlab
4、殺掉第一個程序(就是帶有好多.............的程序)
殺掉後,在ps aux | grep gitlab確認一遍,還有沒有gitlab的程序
5、刪除所有包含gitlab檔案
find / -name gitlab | xargs rm -rf