Docker 下安装
1)创建 docker-compose.yml 内容:
web:
image: 'gitlab/gitlab-ce:latest'
restart: always
hostname: 'git.xxxx.com'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://git.xxxx.com'
ports:
- '8084:80'
- '8083:443'
- '8022:22'
volumes:
- '/mnt/gitlab/config:/etc/gitlab'
- '/mnt/gitlab/logs:/var/log/gitlab'
- '/mnt/gitlab/data:/var/opt/gitlab'
2)运行 docker-compose up
3) 备份迁移
https://docs.gitlab.com/omnibus/docker/
scp -r root@ip:[/mnt/gitlab] [path]
sudo docker run \
--hostname git.xxxx.com \
--publish 8443:443 --publish 8084:80 --publish 8022:22 \
--name gitlab \
--restart always \
--volume /mnt/gitlab/config:/etc/gitlab \
--volume /mnt/gitlab/logs:/var/log/gitlab \
--volume /mnt/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
手动安装
1、添加gitlab镜像
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.3.5-ce.0.el7.x86_64.rpm
2、安装gitlab 安装命令
rpm -i gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
3、修改gitlab配置文件指定服务器ip和自定义端口
修改gitlab.rb文件:
vim /etc/gitlab/gitlab.rb
external_url 'http://localhost:8085'
gitlab_rails['webhook_timeout'] = 90 #默认10s
gitlab_rails['git_timeout'] = 90 #默认10s
# 下方两个端口需一致
unicorn['port'] = 8087
gitlab_workhorse['auth_backend'] = "http://localhost:8087"
修改unicorn.rb文件:
vim /var/opt/gitlab/gitlab-rails/etc/unicorn.rb
listen "127.0.0.1:8085", :tcp_nopush => true ## 端口和gitlab 文件对应
4、重置并启动GitLab
gitlab-ctl reconfigure
gitlab-ctl restart
5、卸载
rpm -e gitlab-ce
ps aux | grep gitlab
find / -name gitlab|xargs rm -rf
# 查询如果存在gitlab进程,直接kill
ps -ef | grep gitlab | xargs kill -s 9
其他
#查看PostgreSQL版本
/opt/gitlab/embedded/bin/psql --version
#查看gitlab的版本
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
修改nginx配置防止出现缓存区错误 Git报错Error:RPC failed; curl 18 transfer closed with outstanding read data remaining
proxy_buffer_size 100m;
proxy_buffers 4 100m;
proxy_busy_buffers_size 100m;