目录

gitlabs离线安装

目录

〇、说明

1. 因为是安装完后,过了很久才整理的当时安装记录,参考博客链接找不到了,这里未能给出

2. 安装环境是 Centos,另外邮件部分因为是内网,步骤是否正确没有去实践过

一、环境配置

(环境依赖包安装[影响gitlab的某些功能使用]和防火墙配置)

  1. 安装sshd
yum install -y curl policycoreutils-python openssh-server
systemctl enable sshd		                                   # 开机启动sshd
systemctl start sshd			                               # 启动sshd
  1. 配置防火墙:采用命令开启防火墙(非必须)
systemctl enable firewalld                                 # 开机自动启动防火墙
systemctl start firewalld                                  # 开启防火墙
firewall-cmd --permanent --add-service=http
systemctl reload firewalld
  1. 安装postfix(非必须)
  • GitLab 需要使用 postfix 来发送邮件,安装命令如下
yum install -y postfix
  • 打开 /etc/postfix/main.cf 文件,在第 119 行附近找到 inet_protocols = all,将 all 改为 ipv4 并按 Ctrl + S 保存
inet_protocols = ipv4
  • 启用并启动 postfix
systemctl enable postfix 
systemctl start postfix

二、下载需求版本的rpm包,并传送到服务器

  1. 安装gitlab
  • 从清华源下载rpm包:
  • cd到rpm存放目录
  • 安装rpm包
rpm -ivh 包名.rpm

三、gitlab预配置:域名,邮件配置

  1. 编辑配置文件 /etc/gitlab/gitlab.rb
vim /etc/gitlab/gitlab.rb
  1. 配置http协议所使用的访问地址
nginx['listen_port'] = 4321
external_url 'http://10.33.123.54:4321'     # 若写域名,就是用域名访问
  1. 配置ssh协议所使用的访问地址和端口
#设置拉取代码采取的地址和端口
gitlab_rails['gitlab_ssh_host'] = '10.33.123.54'
gitlab_rails['gitlab_shell_ssh_port'] = 4322
  1. 修改邮件配置
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"

#说明用的邮箱是QQ企业邮箱
gitlab_rails['smtp_port'] = 465 #采用465端口,登录发信邮箱查看设置
gitlab_rails['smtp_user_name'] = "ying@digital.com.cn"
gitlab_rails['smtp_password'] = "**********" #邮箱的密码或者授权码
gitlab_rails['smtp_domain'] = "exmail.qq.com" 
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] =true

设置收信人,并且发件人和上面的账号要一致!!,不然会发信会报错,试过了!我还想实际邮箱和外在邮箱不一样。。。

gitlab_rails['gitlab_email_from'] = 'ying@digital.com.cn'
  1. 首次启动你的GitLab实例
sudo gitlab-ctl reconfigure

四、启动gitlab:

gitlab-ctl start

gitlab-ctl restart

gitlab-ctl tail          # 查看日志;

gitlab-ctl status        # 查看服务状态;

五、完全卸载删除gitlab

  1. 停止gitlab
gitlab-ctl stop
gitlab-ctl uninstall
  1. 卸载gitlab(注意这里写的是gitlab-ce)
rpm -e gitlab-ce
  1. 查看gitlab进程
ps aux | grep gitlab
  1. 强制杀掉第一个进程(就是带有好多………….的进程)
    杀掉后,再用ps aux | grep gitlab确认一遍,还有没有gitlab的进程
kill -9 进程号
  1. 删除所有包含gitlab文件
find / -name gitlab | xargs rm -rf

六、gitlab 状态码502问题

  • 一般可能原因,一个是因为端口占用,第二是要等待1分钟后再访问gitlab,端口原因见下方
  1. 编辑配置文件
vim /etc/gitlab/gitlab.rb
  1. 修改两个常见冲突端口号
external_url 'http://ip:8888'

unicorn['port'] = 8088
  1. 启动GitLab
gitlab-ctl reconfigure

gitlab-ctl restart

附

(一)、常用命令

gitlab-ctl start:启动全部服务

gitlab-ctl restart:重启全部服务

gitlab-ctl stop:停止全部服务

gitlab-ctl reconfigure:使配置文件生效(一般修改完主配置文件/etc/gitlab/gitlab.rb,需要执行此命令)

gitlab-ctl show-config :验证配置文件

gitlab-ctl uninstall:删除gitlab(保留数据)

gitlab-ctl cleanse:删除所有数据,从新开始

gitlab-ctl tail <service name>查看服务的日志

(二)、常用的组件

nginx:静态Web服务器

gitlab-shell:用于处理Git命令和修改authorized keys列表,我们的gitlab是以Git做为最层的,你操作实际上最后就是调用gitlab-shell命令进行处理。

gitlab-workhorse:轻量级的反向代理服务器

logrotate:日志文件管理工具

postgresql:数据库

redis:缓存数据库

sidekiq:用于在后台执行队列任务(异步执行)

unicorn:GitLab Rails应用是托管在这个服务器上面的

(三)、基础目录:

/var/opt/gitlab/git-data/repositories:                        # 库默认存储目录

/opt/gitlab:                                         # 应用代码和相应的依赖程序

/var/opt/gitlab:gitlab-ctl 
                   # reconfigure命令编译后的应用数据和配置文件,不需要人为修改配置

/etc/gitlab                                                     # 配置文件目录

/var/log/gitlab                         # 此目录下存放了gitlab各个组件产生的日志

/var/opt/gitlab/backups/                                   # 备份文件生成的目录
← 返回技术