linux 下安装gitlab

6 篇文章 0 订阅

GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务,它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库

一:安装依赖

#安装所需依赖
yum install curl openssh-server openssh-clients postfix cronie
#GitLab使用postfix发送邮件 
service postfix start
#设置postfix开机自启动
chkconfig postfix on

二:安装gitlab

1:yum安装

(1)新建 /etc/yum.repos.d/gitlab_gitlab-ce.repo文件,内容为:

[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1

(2)安装gitlab

 

yum makecache #更新本地缓存,提高安装速度
yum install gitlab-ce #安装gitlab
gitlab-ctl reconfigure #配置gitlab

2:rpm安装

(1):下载rpm包(下载地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/)

wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.2.7-ce.0.el7.x86_64.rpm

(2)安装gitlab

rpm -i gitlab-ce-10.2.7-ce.0.el7.x86_64.rpm

安装时如果报如下错误:

image.png

执行

yum install policycoreutils-python

之后重新安装,出现如下现象说明安装成功

image.png

安装成后配置gitlab

gitlab-ctl reconfigure #配置gitlab

二:配置gitlab

1:gitlab的备份与恢复

(1)备份

 # 可以将此命令写入crontab,以实现定时备份
/usr/bin/gitlab-rake gitlab:backup:create

执行上述命令之后会在/var/opt/gitlab/backups目录下生成一个备份的tar文件

image.png

(2)恢复

# 停止unicorn和sidekiq,保证数据库没有新的连接,不会有写数据情况
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
# 进入备份目录进行恢复,1550640732_2019_02_20_11.7.5为备份文件的数字部分
cd /var/opt/gitlab/backups
gitlab-rake gitlab:backup:restore BACKUP=1550640732_2019_02_20_11.7.5
cd -
# 启动unicorn和sidekiq
gitlab-ctl start unicorn
gitlab-ctl start sidekiq

2:gitlab配置文件修改

修改/etc/gitlab/gitlab.rb文件:

(1):基本配置

#外部访问url(冒号后面的为nginx端口号,默认为80,经过编译后,自动将这个配置编译到nginx配置,nginx配置文件为:/var/opt/gitlab/nginx/conf/gitlab-http.conf)
external_url 'http://www.test.com:8888'
#修改unicorn端口号,默认值就是8080,也可以不进行修改
unicorn['port'] = 9999

(2):gitlab发送邮件配置(配置参考:https://docs.gitlab.com/omnibus/settings/smtp.html)

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxxx@xx.com"
gitlab_rails['smtp_password'] = "password"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'xxxx@xx.com'
gitlab_rails['smtp_domain'] = "exmail.qq.com"

(3):如果你的ssh端口不是22号端口,需要修改:

gitlab_rails['gitlab_shell_ssh_port'] = 22

(4)配置生效

#使配置生效
gitlab-ctl reconfigure
#重新启动GitLab,如果gitlab没有启动,使用gitlab-ctl start
gitlab-ctl restart

注意如果你修改了/var/opt/gitlab/nginx/conf/gitlab-http.conf文件的话,使用gitlab-ctl reconfigure命令的话,/var/opt/gitlab/nginx/conf/gitlab-http.conf文件信息会进行重置

3:测试是否安装成功

打开浏览器访问:www.test.com:8888或服务器ip:8888(例:192.168.11.201:8888),出现如下现象说明安装成功

如果出现拒绝访问,应该是防火墙问题,可以参考:linux之centos7防火墙基本使用

如果出现502报错,一般是由于端口号占用问题,更改端口号再重新使配置生效,重新访问

image.png

第一次进入时需要密码重置,重置密码之后就可以登录gitlab了,登录时用户名为root,密码为刚刚重置的密码

如果你之后忘记密码了,可以使用命令行修改密码

 

gitlab-rails console production
user = User.where(id:1).first
user.password='XXXX'
user.save!

image.png

gitlab常用命令:

gitlab-ctl start    # 启动所有 gitlab 组件;

gitlab-ctl stop        # 停止所有 gitlab 组件;

gitlab-ctl restart        # 重启所有 gitlab 组件;

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

vim /etc/gitlab/gitlab.rb        # 修改gitlab配置文件;

gitlab-ctl reconfigure        # 重新编译gitlab的配置;

gitlab-rake gitlab:check SANITIZE=true --trace    # 检查gitlab;

gitlab-ctl tail        # 查看日志;

gitlab-ctl tail nginx/gitlab_access.log

cat /opt/gitlab/embedded/service/gitlab-rails/VERSION  #查看gitlab版本

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值