在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
登录。