搭建gitlab服务
安装依赖
sudo yum install curl policycoreutils openssh-server openssh-clients sudo systemctl enable sshd sudo systemctl start sshd sudo yum install postfix sudo systemctl enable postfix sudo systemctl start postfix sudo firewall-cmd --permanent --add-service=http sudo systemctl reload firewalld
添加gitlab镜像源并安装
curl -sS http://packages.gitlab.com.cn/install/gitlab-ce/script.rpm.sh | sudo bash
sudo yum install gitlab-ce
# 指定版本安装
curl -LJO https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-XXX.rpm
rpm -i gitlab-ce-XXX.rpm
启动gitlab
sudo gitlab-ctl reconfigure
端口冲突问题(如果安装有nginx)
修改 gitlab 配置
#官方安装方式下,配置文件是/etc/gitlab/gitlab.rb - gitlab nginx 端口监听修改 nginx['listen_port'] = 端口号 - gitlab 的域名 external_url '域名'
#修改完毕后重置下gitlab:
gitlab-ctrl reconfigure
添加 nginx 代理服务器配置
upstream git{ # 域名对应 gitlab配置中的 external_url # 端口对应 gitlab 配置中的 nginx['listen_port'] server 域名:端口; } server{ listen 80; # 此域名是提供给最终用户的访问地址 server_name 域名; location / { # 这个大小的设置非常重要,如果 git 版本库里面有大文件,设置的太小,文件push 会失败,根据情况调整 client_max_body_size 50m; proxy_redirect off; #以下确保 gitlab中项目的 url 是域名而不是 http://git,不可缺少 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 反向代理到 gitlab 内置的 nginx proxy_pass http://git; index index.html index.htm; } }