在CentOS上部署GitLab的步驟如下:
更新系統:
sudo yum update -y
安裝必要的依賴包:
sudo yum install -y curl policycoreutils openssh-server openssh-clients postfix cronie
配置防火墻:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
設置SSH服務開機自啟動:
sudo systemctl enable sshd
sudo systemctl start sshd
禁用SELinux(可選,但推薦):
sudo setenforce 0
添加GitLab官方倉庫:
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
安裝GitLab CE:
sudo yum install -y gitlab-ce
修改配置文件:
sudo vi /etc/gitlab/gitlab.rb
配置外部URL: 找到并修改以下行,設置為你的服務器IP地址或域名:
external_url 'http://your_server_ip'
配置郵件服務(可選): 如果你需要配置郵件服務,可以添加以下配置:
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.example.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "your_email@example.com"
gitlab_rails['smtp_password'] = "your_password"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'your_email@example.com'
重新配置并啟動GitLab:
sudo gitlab-ctl reconfigure
sudo gitlab-ctl start
在瀏覽器中輸入你的服務器IP地址或域名,你將看到GitLab的歡迎頁面。首次訪問時,需要創建一個管理員賬戶并設置密碼。
如果你希望使用Docker來安裝GitLab,可以按照以下步驟進行:
安裝Docker:
sudo yum -y update
sudo yum -y install yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum -y install docker-ce-20.10.9-3.el7
sudo systemctl start docker
sudo systemctl enable docker
拉取GitLab鏡像:
docker pull registry.gitlab.cn/omnibus/gitlab-ce:latest
運行GitLab容器:
docker run --detach \
--hostname your_domain_or_ip \
--publish 443:443 \
--publish 80:80 \
--name gitlab \
--restart always \
--volume $GITLAB_HOME/config:/etc/gitlab \
--volume $GITLAB_HOME/logs:/var/log/gitlab \
--volume $GITLAB_HOME/data:/var/opt/gitlab \
--shm-size 256m \
registry.gitlab.cn/omnibus/gitlab-ce:latest
重啟GitLab容器:
docker restart gitlab
進入容器查看密碼:
docker exec -it gitlab /bin/bash cat /etc/gitlab/initial_root_password
登錄GitLab:使用生成的密碼和用戶名root
登錄。