Gitlab安装维护

  • 安装

    • 准备: linux 系统(Ubuntu18.04LST) ;

    • gitlab企业版 gitlab-ee_11.4.4-ee.0_amd64.deb ;

    • 执行命令 dpkg -i gitlab-ee_11.4.4-ee.0_amd64.deb安装gitlab-ee版本;

    • 等待出现小狐狸的图标, 且安装过程中没有任何报错, 此时gitlab服务应该已经成功启动 ;

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

      external_url 'http://{IP}:{PORT}'
      gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
      gitlab_rails['backup_archive_permissions'] = 0644
      gitlab_rails['backup_keep_time'] = 604800 # 备份过期时间,单位秒
      
    • 使用 gitlab-ctl reconfigure或者 gitlab-ctl restart重启服务使配置文件生效 ;

    • 初始化ROOT密码:

      gitlab-rails console production   # 似乎是使用PostgreSQL管理用户数据库
      u=User.where(id:1).first		  # 第一个账户,是root账户
      u.password=12345678 			  # 设置此账户密码, gitlab要求密码长度不少于8位
      u.password_confirmation=12345678  # 确认密码, 可以不用执行
      u.save!							  # 保存此用户信息
      
      #  其他查找方法  u=User.where(username: "root").first 或者  u=User.where(email: "root.qq.com").first
      
    • 从浏览器访问Gitlab时,第一次也会提示设置root用户的密码,此后忘记root或者其他用户的密码均可以使用命令行的方式重新设置;

    • 安装完gitlab后,__不要__在此用户下安装postgresql,可能会引起gitlab访问数据库失效.

  • 备份

    • 默认备份目录 /var/opt/gitlab/backups;
    • 备份前确认服务正常运行 ;
    • 备份指令 gitlab-rake gitlab:backup:create;
    • 自动备份指令 crontab -e.
  • 恢复

    需要目标机器上的gitlab版本与备份的版本一致

    • 停止数据连接 gitlab-ctl stop unicorn;
    • 停止数据连接 gitlab-ctl stop sidekiq;
    • 备份数据应该放在目标机器或者备份服务指定的备份目录中 ;
    • 进入备份目录, 修改备份数据权限 chmod 777;
    • 执行恢复命令 gitlab-rake gitlab:backup:restore;
    • 期间需要两次输入 yes,以进行后续操作 ;
    • 等待恢复完成后, 执行 gitlab-ctl start启动服务.
  • 下载备份文件

    • nginx 搭建服务,配置文件内容:

      server {
              listen       10086;
              server_name  0.0.0.0;
      
      
              location /gitlab_back {
                  alias /var/opt/gitlab/backups;
                  autoindex on;
                  autoindex_exact_size off;
                  add_header Content-Disposition: 'attachment;';
              }
      }
      
    • 访问路径 IP:PORT/gitlab_back下载最新的备份文件.

      例如 ```http://{IP}:{PORT}/gitlab_back/1637026426_2021_11_16_11.4.4-ee_gitlab_backup.tar``

你可能感兴趣的:(gitlab,linux,运维)