gitlab的安装和使用(二)
使用过程中遇到的问题:
-
数据盘不够用了 解决办法: 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 -
修改主机名为IP和端口号 cd /opt/gitlab/embedded/service/gitlab-rails/config
vi gitlab.yml host: #自己的IP port: #自己的端口号 然后用命令 gitlab-ctl reconfigure 重启gitlab -
忘记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: "admin@example.com", 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
-
修改时区 vi /etc/gitlab/gitlab.rb #gitlab_rails['time_zone'] = 'UTC' #设置为 亚洲/上海 东八区时间 gitlab_rails['time_zone'] = 'Asia/Shanghai'
-
默认的备份策略是使用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