1 原有机器进行升级和备份:

https://about.gitlab.com/update/#centos-6

1. Make a backup (Optional)

If you would like to make a backup before updating, the below command will backup data in /var/opt/gitlab/backups by default.

sudo gitlab-rake gitlab:backup:create STRATEGY=copy

. Update GitLab

Update to the latest version of GitLab.

sudo yum install -y gitlab-ce

2 新机器上安装社区版:

https://about.gitlab.com/installation/#centos-6?version=ce

3 修改配置文件(可选,为改端口)

1) vim /etc/gitlab/gitlab.rb
#unicorn['port'] =
-->改为 unicorn['port'] =
#nginx['listen_port'] = nil
-->改为 nginx['listen_port'] = 5091
2) vim /var/opt/gitlab/gitlab-rails/etc/unicorn.rb #listen "127.0.0.1:8080", :tcp_nopush => true
--> 改为 listen "127.0.0.1:8070", :tcp_nopush => true
3)vim /var/opt/gitlab/nginx/conf/gitlab-http.conf
#listen *:;
--> 改为 listen *:;
gitlab-ctl reconfigure
gitlab-ctl restart

4 nginx 转发配置(可选),

新建 gitlab-http.conf 放到独立nginx下

upstream gitlab-workhorse {
server unix:/var/opt/gitlab/gitlab-workhorse/socket;
} server {
listen ;
server_name gitlab.xf120.com; location / {
proxy_pass http://gitlab.xxx.com:5091;
} }

5 还原

  1. sudo cp xxx_gitlab_backup.tar  /var/opt/gitlab/backups/
  2. sudo gitlab-ctl stop unicorn
  3. sudo gitlab-ctl stop sidekiq
  4. sudo gitlab-rake gitlab:backup:restore BACKUP=xxx       注:xxx是第1步备份文件的前缀
  5. sudo gitlab-ctl start
  6. sudo gitlab-rake gitlab:check SANITIZE=true

  http://blog.csdn.net/jenyzhang/article/details/53928438

6 卸载gitlab

http://www.bubuko.com/infodetail-2310132.html

sudo gitlab-ctl stop

sudo rpm -e gitlab-ce

ps -ef|grep gitlab 会看到如下一个进程

 runsvdir -P /opt/gitlab/service log: ........................................................................
..............................................................................................................
..............................................................................................................
.......................................................................................................

把它kill掉

 

7 修改邮箱(未验证)

配置smtp邮件发送
$ sudo vi /etc/gitlab/gitlab.rb
# Change the external_url to the address your users will type in their browser
external_url 'http://xxhost.com' #Sending application email via SMTP
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] =
gitlab_rails['smtp_user_name'] = "xxuser@163.com"
gitlab_rails['smtp_password'] = "xxpassword"
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = :login
gitlab_rails['smtp_enable_starttls_auto'] = true ##修改gitlab配置的发信人
gitlab_rails['gitlab_email_from'] = "xxuser@163.com"
user["git_user_email"] = "xxuser@163.com"

疑难解答:

1)gitlab上传文件大小限制

# 1修改nginx conf(如果使用了nginx转发,转发的nginx和内部nginx都设置一下)
http内添加client_max_body_size http{
client_max_body_size ;
} # 设置postBuffer(服务器和本地上都设一下)
单独项目设置:
git config http.postBuffer
全局设置:
git config --global http.postBuffer # 重启 nginx 和 gitlab
sudo service nginx restart
sudo gitlab-ctl restart

2)有时候文件过多,下载超时,修改如下:

/var/opt/gitlab/gitlab-rails/etc/unicorn.rb

timeout 

3) 检查错误

# 检查状态
sudo gitlab-ctl status

ok: run: gitaly: (pid 10432) 1s
ok: run: gitlab-monitor: (pid 10480) 1s
ok: run: gitlab-workhorse: (pid 10499) 0s
ok: run: logrotate: (pid 10517) 1s
ok: run: nginx: (pid 10580) 0s
ok: run: node-exporter: (pid 10808) 0s
timeout: down: postgres-exporter: 1s, normally up, want up     --有问题的进程
timeout: run: postgresql: (pid 10564) 67237s                   --有问题的进程
ok: run: prometheus: (pid 13058) 0s
ok: run: redis: (pid 13085) 1s
ok: run: redis-exporter: (pid 13104) 0s
ok: run: sidekiq: (pid 13153) 0s
ok: run: unicorn: (pid 13173) 0s

查看日志

gitlab-ctl tail postgres-exporter

Git升级迁移的更多相关文章

  1. gitlab升级迁移(二)

    前面我们写了一篇gitlab升级迁移的文章(https://www.cnblogs.com/liangyou666/p/9434158.html),这次我们主要是讲另一种升级迁移方法和其中遇到的一些问 ...

  2. Git 升级与基础适用

    Git 升级 老方法 yum install git 目前centos6安装的 git 版本为1.7相对于 github 以及自己安装的 git 服务器都相对比较老,所以一般不适用此方法安装) 编译安 ...

  3. centos git 升级应用

    在阿里云服务器上部署Git 升级centos 自带的Git yum库自带版本为git1.7.1-3.el6_4.1. -------------------升级-------------------- ...

  4. git仓库迁移和更新远程仓库地址

    一.git仓库迁移 1,从原仓库clone或pull到本地仓库 git clone project_name ​[old_remote_repository_address] 2,​在新的git创建一 ...

  5. GIT工程迁移方法总结

    Git工程迁移方法总结 Git最近准备迁移一下位置,这里采用命令行的方式,做如下操作. 1.git init  初始化git仓库,这个时候发现本地文件夹多了个.git的文件夹. 2.git remot ...

  6. Git工程迁移方法总结(命令行)

    Git工程迁移方法总结 Git工程迁移方法总结 Git最近准备迁移一下位置,这里采用命令行的方式,做如下操作. 1.git init  初始化git仓库,这个时候发现本地文件夹多了个.git的文件夹. ...

  7. git 仓库迁移,git remote 更改源

    git仓库迁移 我们有时候需要迁移git仓库,但又想保留每次commit的记录,所以我们只需要更改git remote [源]的问题即可 首先查看你的remote的地址 git remote -vv ...

  8. Git工程迁移方法总结(命令行) .(转载)

    原文地址:http://blog.csdn.net/hongshan50/article/details/236630433 Git工程迁移方法总结 Git工程迁移方法总结 Git最近准备迁移一下位置 ...

  9. git仓库迁移的两种解决方案

    Git仓库迁移而不丢失log的方法 要求能保留原先的commit记录,应该如何迁移呢? 同时,本地已经clone了原仓库,要配置成新的仓库地址,该如何修改呢? 注意:如果使用了代码审核工具Gerrit ...

随机推荐

  1. css3 变换、过渡效果、动画

    1 CSS3 选择器 1.1 基本选择器 1.2 层级 空格 > + .item+li ~ .item~p 1.3 属性选择器 [attr] [attr=value] [attr^=value] ...

  2. 事件对象,arguments、事件的兼容问题

    一.事件对象 1.每个元素身上是天生存在的,不需要我们去定义,只需要我们给这个事件绑定一个方法,当事件触发的时候,就会执行这个方法 2.事件绑定的方法: (1).DOM0级绑定:div . oncli ...

  3. Microsoft Sql server2005的安装步骤和常见问题解决方案

    一:安装sql server 2005过程中出现 如下问题:“选择的功能中没有任何功能可以安装或升级”: 解决方案:Microsoft SQL Server 2005→配置工具→SQL配置管理器→SQ ...

  4. ActiveMQ消息丢失怎么解决?

    在消息发送过程中消息丢失的话该怎么解决(包括网络原因): 解决思路: 可以把消息唯一ID,存到表里面,当消息接受端可以获取到这个ID,就给服务端一个回复IF,消息发送出去,没有回复,THEN一直循环发 ...

  5. SQLite - WHERE子句

    SQLite - WHERE子句 SQLite WHERE子句用于指定一个条件同时抓取数据从一个表或多个表. 如果给定的条件满意,意味着true,然后从表中返回特定值.你会使用WHERE子句来筛选记录 ...

  6. JS中的事件、事件冒泡和事件捕获、事件委托

    https://www.cnblogs.com/diver-blogs/p/5649270.html https://www.cnblogs.com/Chen-XiaoJun/p/6210987.ht ...

  7. const、let、var的区别

    const不能从字面上来理解,他不能修改的是栈内存在的值和地址. 使用const声明的是常量,在后面出现的代码中不能再修改该常量的值. 怎么理解栈内存在的值和地址呢?就要从javascript的类型说 ...

  8. C02 信息存储与运算

    目录 计算机内存 常量和变量 数据类型 运算符 计算机内存管理 计算机内存 信息存储概述 使用程序进行开发时,需要存储各种信息,这时候就需要用到变量.由于信息类型不同,变量的类型也因此不尽相同. 同时 ...

  9. Xcode 6 创建 Empty Application

    1.创建一个 Single View Application: 2.删除工程目录下的 Main.storyboard 和 LaunchScreen.xib: 3.打开 Supporting Files ...

  10. ios runloop学习

    今天突然才之间才意识到NSTimer这样的运行方式,是在多线程中实现的循环还是在主线程中去实现的呢.当然不可能是在主线程中的while那么简单,那样什么都干不了,简单看了下NSTimer是以同步方式运 ...