ITPub博客

首页 > 应用开发 > IT综合 > debian9安装指定版本gitlab,并实现备份还原

debian9安装指定版本gitlab,并实现备份还原

原创 IT综合 作者:肿诹逊汲 时间:2020-12-01 16:44:15 0 删除 编辑

  介绍

  由于项目分割需要搭建双仓库地址,但是之前的gitlab是旧版本的10.1.1版本的。

  现在实现备份还原,则需要同样版本的gitlab

  检查gitlab版本

  root test:~#cat/opt/gitlab/embedded/service/gitlab-rails/VERSION

  版本不一致备份恢复报错

  debian9安装指定版本gitlab,并实现备份还原

  gitlab获取安装

  [官方下载安装地址](https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/jessie/gitlab-ce_10.1.1-ce.0_amd64.deb)

  部署安装gitlab

  root test:~#curl-s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh|sudo bash

  root test:~#sudo apt-get install gitlab-ce=10.1.1-ce.0

  修改gitlab配置文件

  vim/etc/gitlab/gitlab.rb

  external_url'http://gitlab.hanye.com'#gitlab展示和clone地址

  gitlab_rails['object_store']['enabled']=false

  gitlab_rails['object_store']['connection']={}

  gitlab_rails['object_store']['storage_options']={}

  gitlab_rails['object_store']['proxy_download']=false

  gitlab_rails['object_store']['objects']['artifacts']['bucket']=nil

  gitlab_rails['object_store']['objects']['external_diffs']['bucket']=nil

  gitlab_rails['object_store']['objects']['lfs']['bucket']=nil

  gitlab_rails['object_store']['objects']['uploads']['bucket']=nil

  gitlab_rails['object_store']['objects']['packages']['bucket']=nil

  gitlab_rails['object_store']['objects']['dependency_proxy']['bucket']=nil

  gitlab_rails['object_store']['objects']['terraform_state']['bucket']=nil

  gitlab_rails['gitlab_shell_ssh_port']=7080#修改gitlab使用SSH的端口

  gitlab_rails['gitlab_shell_git_timeout']=800#修改gitlab使用SSH链接超时时间

  gitlab_rails['rack_attack_git_basic_auth']={#开放白名单

  'enabled'=>true,

  'ip_whitelist'=>["127.0.0.1","123.160.235.102","123.160.172.34","123.160.234.96"],

  'maxretry'=>100,

  'findtime'=>60,

  'bantime'=>3600

  }

  gitlab_rails['redis_host']="127.0.0.1"#链接redis服务配置

  gitlab_rails['redis_port']=6379

  gitlab_rails['redis_password']="passwd"

  gitlab_rails['redis_database']=0

  unicorn['listen']='192.168.31.10'#unicorn监听地址(内网或者外网,看自己需要)

  unicorn['port']=8091#unicorn监听端口(netstat-ntpl查看服务器已经占用的端口,不要冲突,不然起不来unicorn服务)

  nginx['enable']=false#nginx不开启默认使用socket监听

  nginx['listen_addresses']=['*','[::]']

  external_url#是访问和gitlab克隆对外展示的地址

  debian9安装指定版本gitlab,并实现备份还原

  gitlab_rails['gitlab_shell_ssh_port']#是你的服务器ssh监听的地址,默认22。

  gitlab_rails['redis_host']#redis服务器监听地址,默认localhost

  检查配置和启动gitlab

  root test:~#gitlab-ctl reconfigure#检查配置文件

  root test:~#gitlab-ctl restart

  nginx代理到gitlab

  cat/usr/local/nginx/conf/vhost/gitlab.hanye.com.conf

  proxy_cache_path proxy_cache keys_zone=gitlab:10m max_size=1g levels=1:2;

  proxy_cache gitlab;

  map$http_upgrade$connection_upgrade{

  default upgrade;

  ''close;

  }

  upstream gitlab-workhorse{

  server unix:/var/opt/gitlab/gitlab-workhorse/socket;

  }

  server{

  listen*:80;

  server_name gitlab.hanye.com;

  server_tokens off;##Don't show the nginx version number,a security best practice

  include deny_host.conf;

  client_max_body_size 0;

  add_header Strict-Transport-Security"max-age=31536000";

  error_log/data/wwwlogs/gitlab_error_nginx.log;

  access_log/data/wwwlogs/access_nginx.log combined;

  if($http_host=""){

  set$http_host_with_default"gitlab.hanye.com";

  }

  if($http_host!=""){

  set$http_host_with_default$http_host;

  }

  proxy_read_timeout 3600;

  proxy_connect_timeout 300;

  proxy_redirect off;

  proxy_http_version 1.1;

  proxy_set_header Host$http_host_with_default;

  proxy_set_header X-Real-IP$remote_addr;

  proxy_set_header X-Forwarded-For$proxy_add_x_forwarded_for;

  proxy_set_header Upgrade$http_upgrade;

  proxy_set_header Connection$connection_upgrade;

  proxy_set_header X-Forwarded-Proto http;

  location~(.git/gitlab-lfs/objects|.git/info/lfs/objects/batch$){

  proxy_cache off;

  proxy_pass http://gitlab-workhorse;

  proxy_request_buffering off;

  }

  location/{

  proxy_cache off;

  proxy_pass http://gitlab-workhorse;

  }

  location/assets{

  proxy_cache gitlab;

  proxy_pass http://gitlab-workhorse;

  }

  error_page 404/404.html;

  error_page 422/422.html;

  error_page 500/500.html;

  error_page 502/502.html;

  location~^/(404|422|500|502)(-custom)?.html${

  root/opt/gitlab/embedded/service/gitlab-rails/public;

  internal;

  }

  }

  启动报错502处理方式

  1 nginx访问权限拒绝

  debian9安装指定版本gitlab,并实现备份还原

  处理方式:

  ps-ef|grep nginx#查看ngxin启动用户

  sudo usermod-aG gitlab-www www#授权nginx用户附加组为gitlab-www

  /etc/init.d/nginx restart#重启nginx

  2其他报错使用

  gitlab-rake gitlab:check检查报错

  3 unicorn端口占用检查8080端口是否被占用被占用修改端口

  unicorn['port']=8091#unicorn监听端口(netstat-ntpl查看服务器已经占用的端口,不要冲突,不然起不来unicorn服务)

  gitlab备份还原

  gitlab备份:

  /usr/bin/gitlab-rake gitlab:backup:create>/dev/null

  默认备份地址:gitlab_rails['backup_path']="/var/opt/gitlab/backups"指定

  会在/var/opt/gitlab/backups生成一个序号+日期的备份文件

  gitlab还原

  gitlab-rake gitlab:backup:restore BACKUP=1606073532_2020_11_23_10.1.1#指定序号恢复

  会覆盖用户配置需要手动yes确认

  会覆盖SSH-key文件需要Yes确认


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69920892/viewspace-2738549/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: Android与ARM处理器
请登录后发表评论 登录
全部评论

注册时间:2020-09-21

  • 博文量
    12
  • 访问量
    9311