gitlab的安装和使用(二)

gitlab的安装和使用(二)

使用过程中遇到的问题:

  1. 数据盘不够用了
    解决办法:
    gitlab数据本地目录迁移
    gitlab代码数据默认目录:/var/opt/gitlab/git-data/repositories
    在新数据盘data目录下新建gitlab-data目录,把旧数据拷贝过去再重新启动gitlab,操作如下:

    1. 停止数据连接服务
      [root@gitserver git-data]# gitlab-ctl stop unicorn
      ok: down: unicorn: 0s, normally up
      [root@gitserver git-data]# gitlab-ctl stop sidekiq
      ok: down: sidekiq: 0s, normally up
    2. 数据迁移
      [root@gitserver git-data]# cp -rp /var/opt/gitlab/git-data/repositories/ /data/gitlab-data/
    3. 修改gitlab配置文件
      [root@gitserver git-data]# vi /etc/gitlab/gitlab.rb
      git_data_dir "/data/gitlab-data"
    4. 启动gitlab
      gitlab-ctl reconfigure
      或者gitlab-ctl start
  2. 修改主机名为IP和端口号
    cd /opt/gitlab/embedded/service/gitlab-rails/config
    vi gitlab.yml
    host: #自己的IP
    port: #自己的端口号
    然后用命令 gitlab-ctl reconfigure 重启gitlab

  3. 忘记root密码
    在gitlab登录窗口,如果密码忘记了登录不进入,可以先尝试点击登录框下方的Forgot your password来通过邮箱的方式找回,如果邮箱不可以使用了,则看下面的强制找回方法

        1.连接到gitlab安装的服务器上,然后输入su - git 切换到git用户下操作,切换之后默认的当前目录就可以ls查看到gitlab的命令文件
        [root@localhost ~]# su - git
        2. 输入gitlab-rails console production进入gitlab控制台,只有进入到控制台之后,才可以输入gitlab的查询语句,才会被解析
        3. 输入user = User.where(id:1).first查询id为1的用户对象,因为超级管理员用户默认都是1,也可以更加username来查询用户对象,管理员账户对象查询到之后,可以从返回的信息中看到admin为true,username为root
        4.输入user.password='密码',密码位置填写您新的密码即可。
        5.输入user.save!保存用户对象
        6.(设置之后直接登录可能登不进去,但是稍等一下就能登陆了,所以如果设置完还是不行就稍等一下再试)
        操作如下
        -sh-4.2$ gitlab-rails console production
        Loading production environment (Rails 4.2.7.1)
        irb(main):001:0> 
        irb(main):002:0* user = User.where(id:1).first 回车
        => #<User id: 1, email: "[email protected]", created_at: ...
        ...
        , authorized_projects_populated: true>
        irb(main):003:0> 
        irb(main):004:0* user.password='newpasswd'
        => "newpasswd"
        irb(main):005:0> 
        irb(main):006:0* user.save!
        Enqueued ActionMailer::DeliveryJob (Job ID:... "password_change", "deliver_now", gid://gitlab/User/1
        => true
        irb(main):007:0> quit
  4. 修改时区
    vi /etc/gitlab/gitlab.rb
    #gitlab_rails['time_zone'] = 'UTC'
    #设置为 亚洲/上海 东八区时间
    gitlab_rails['time_zone'] = 'Asia/Shanghai'

  5. 默认的备份策略是使用Linux命令tar和gzip从各自的数据位置备份基本的数据流。
    这样可以满足大多数的备份要求,但是在数据迅速的变化时会引起问题。
    当tar读取数据正在改变的文件时,错误 ‘file changed as we read it ‘可能会出现,并且会导致备份进程失败。
    为了解决这个问题,8.17 引入一个新的备份策略:copy。
    这个策略会在tar和gzip调用前将数据文件拷贝到一个临时的路径,避免出错。
    这样的副作用是备份程序会占用1倍的磁盘空间。
    备份程序会在每次备份前清空临时文件以避免重复,但是这对于较大的安装系统是一个需要考虑的改变。
    这就是为什么copy策略为什么在8.17不是默认的备份策略。
    如果需要使用copy策略来替换默认的数据流备份策略,在备份命令指定参数 STRATEGY=copy。
    例如:
    sudo gitlab-rake gitlab:backup:create STRATEGY=copy
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章