目录
一、Gitlab介绍
Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git的读音为/gɪt/。Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。
二、环境准备
1、下载gitlab安装包
https://mirrors.tuna.tsinghua.edu.cn/
在清华大学镜像站搜索选择社区版,选择yum->el7
注:el是Red Hat Enterprise Linux(EL)的缩写
[root@yang bin]# wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-14.0.5-ce.0.el7.x86_64.rpm
2、安装必备软件
安装Postfix以发送通知邮件
[root@yang bin]# yum install postfix
[root@yang bin]# systemctl enable postfix
[root@yang bin]# systemctl start postfix
2、安装rpm包
[root@yang bin]# rpm -ivh gitlab-ce-14.0.5-ce.0.el7.x86_64.rpm
3、修改配置文件
[root@yang bin]# vi /etc/gitlab/gitlab.rb
#修改访问URL
#格式:external_url 'http://本机ip:端口'
external_url 'http://xxx.xxx.xxx.xxx:8085'
#配置时区
gitlab_rails['time_zone'] = 'Asia/Shanghai'
4、重置gitlab
[root@yang bin]# gitlab-ctl reconfigure
5、启动Gitlab
[root@yang nginx]# gitlab-ctl restart
[root@yangrenhao nginx]# gitlab-ctl restart
ok: run: alertmanager: (pid 12126) 1s
ok: run: gitaly: (pid 12136) 0s
ok: run: gitlab-exporter: (pid 12154) 0s
ok: run: gitlab-workhorse: (pid 12156) 0s
ok: run: grafana: (pid 12167) 0s
ok: run: logrotate: (pid 12183) 1s
ok: run: nginx: (pid 12189) 0s
ok: run: node-exporter: (pid 12198) 1s
ok: run: postgres-exporter: (pid 12203) 0s
ok: run: postgresql: (pid 12318) 0s
ok: run: prometheus: (pid 12320) 0s
ok: run: puma: (pid 12331) 0s
ok: run: redis: (pid 12344) 1s
ok: run: redis-exporter: (pid 12350) 0s
ok: run: sidekiq: (pid 12360) 0s
三、访问gitlab
开通防火墙后,使用ip:port即可访问gitlab,也可以配置反向代理访问,这里配置了反向代理
注:启动后稍等1分钟后访问,否则可能报502
1、初始化密码
注:不同版本进入gitlab后台命令可能不同,如果执行报错,请查阅官方文档
[root@yang nginx]# cd /opt/gitlab/bin
[root@yang bin]# gitlab-rails console -e production
--------------------------------------------------------------------------------
Ruby: ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-linux]
GitLab: 14.0.5 (25fc1060aff) FOSS
GitLab Shell: 13.19.0
PostgreSQL: 12.6
--------------------------------------------------------------------------------
Loading production environment (Rails 6.1.3.2)
irb(main):001:0> user = User.where(id: 1).first
=> #<User id:1 @root>
irb(main):005:0> user.password = '12345678'
=> "12345678"
irb(main):006:0> user.password_confirmation = '12345678'
=> "12345678"
irb(main):007:0> user.save!
Enqueued ActionMailer::MailDeliveryJob (Job ID: 144c7ba4-a05f-4453-856b-8471a73a68fc) to Sidekiq(mailers) with arguments: "DeviseMailer", "password_change", "deliver_now", {:args=>[#<GlobalID:0x00007f2d4dd95428 @uri=#<URI::GID gid://gitlab/User/1>>]}
=> true
irb(main):008:0> exit