如何确定GitLab安装是Omnibus还是通过源?

时间:2016-10-21 18:45:37

标签: gitlab gitlab-omnibus

我正在研究将GitLab从旧服务器迁移到新服务器的过程。我需要做的第一件事就是确定GitLab所处的安装(Omnibus与来源),而且我无法分辨。

这篇文章(omnibus or source - can't decide which one to use for gitllab backup/restore)提到在GitLab根文件夹(/ home / git / gitlab)中查找.git文件 - 我在那里看不到.git文件。因此,通过该评论,安装是Omnibus。

但是,看一下这篇文章(Checking of GitLab version),我无法运行:

sudo gitlab-rake gitlab:env:info(显示为Omnibus安装)

但我可以跑:

bundle exec rake gitlab:env:info RAILS_ENV=production(显示源安装)

我看到了相互矛盾的答案。我怎么知道GitLab在哪个安装?

在任何情况下,当我运行最后一个命令时,我得到以下结果(如果它有帮助):

  

系统信息   系统:Debian 7.10   当前用户:git   使用RVM:没有   Ruby版本:2.0.0p247   宝石版本:2.0.3   Bundler版本:1.7.2   耙子版本:10.1.0

     

GitLab信息   版本:6.0.2   修订版:10b0b8f   目录:/ home / git / gitlab   数据库适配器:mysql2   网址:http://107.178.218.39   HTTP克隆网址:http://107.178.218.39/some-project.git   SSH克隆URL:git@107.178.218.39:some-project.git   使用LDAP:没有   使用Omniauth:没有

     

GitLab Shell   版本:1.7.0   存储库:/ home / git / repositories /   钩子:/ home / git / gitlab-shell / hooks /   Git:/ usr / bin / git

1 个答案:

答案 0 :(得分:7)

您应该检查此文件是否可用:

/etc/gitlab/gitlab.rb

如果没有,则从源代码安装。我的建议是将您的安装更改为综合安装,这样可以更容易升级。

阅读本文,了解有关升级到综合安装的更多信息:https://docs.gitlab.com/omnibus/update/README.html#upgrading-from-a-non-omnibus-installation-to-an-omnibus-installation

更新1

  

请注意,如果将MySQL用作数据库,则必须进行转换,请参阅文档https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/update/mysql_to_postgresql.md

要从源升级安装,您有两个选项:

  

确保您拥有与当前GitLab版本匹配的omnibus-gitlab软件包。 (如果可能的话,我会从源头最后一次升级)

<强> 1。在同一台服务器上安装带有omnibus的gitlab。

  

开始之前,请从服务器创建快照,以确保始终可以返回工作点。还要确保关闭gitlab。

您应该使用omnibus选项安装gitlab:

sudo apt-get install curl openssh-server ca-certificates postfix
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash sudo apt-get install gitlab-ce

可以在服务器上同时安装源安装的omnibus。如果出现问题,您可以随时更改源安装。

然后按照文档中的说明进行操作:https://docs.gitlab.com/omnibus/update/README.html#upgrading-from-non-omnibus-postgresql-to-an-omnibus-installation-in-place

<强> 2。通过备份安装gitlab。

使用备份时,您甚至可以将gitlab安装转移到新服务器。我用这种方式,很容易。

  

在进行备份之前,请关闭gitlab,以确保备份和还原过程之间没有任何变化

首先,进行备份:

sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production

另请参阅documenation此覆盖范围以了解更多信息。

之后,您可以将备份移动到新的gitlab服务器或稍后使用它来导入它。

要在omnibus安装中导入它(简而言之,请阅读documentation):

sudo cp 1393513186_gitlab_backup.tar /var/opt/gitlab/backups/
sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq
# Verify
sudo gitlab-ctl status

sudo gitlab-rake gitlab:backup:restore BACKUP=1393513186

sudo gitlab-ctl start
sudo gitlab-rake gitlab:check SANITIZE=true

因为你说它是关于一个现场环境。您可以执行以下操作,设置一个小型服务器/或在本地计算机上进行升级过程,以便您对此感到满意。之后你可以在现场环境中做同样的事情。