如何检查GitLab的版本?

397
如何检查服务器上安装的GitLab版本?
我想了解安装在GitLab更改日志中指定的版本:
https://gitlab.com/gitlab-org/gitlab-foss/blob/master/CHANGELOG.md
例如:"6.5.0","6.4.3"等版本。
这是否只能通过终端来完成?
是否有一种远程方式(使用浏览器而不是终端)来执行此操作?

3
我投票关闭这个问题,因为它是关于一个与开发无关的产品/网络应用程序的问题。我认为[webapps.se]是更好的地方。 - Evan Carroll
对于使用官方GitLab.com的用户来说,你们的版本是最新的,因为GitLab会持续更新。 - louielyl
19个回答

518

我已将服务器更新为GitLab 6.6.4,最终找到了一种无需通过SSH访问服务器即可远程获取GitLab版本的方法。

应该登录以访问以下页面:https://your.domain.name/help

页面显示类似于:

GitLab 6.6.4 42e34ae

GitLab是用于协作编写代码的开源软件。
...
等等。


23
不过你必须先登录。(我已经费了10分钟的脑力去琢磨这个问题了...) - julien_c
2
你知道如何从文件系统中实现这个吗?例如,一个无法启动的服务器。 - Christophe De Troyer
6
查找文件名为“version-manifest.txt”……对于GitLab Omnibus,它存储在“/opt/gitlab/version-manifest.txt”中。 - Maxim
1
请注意:您可以在托管的GitLab上查看此内容,网址为https://gitlab.com/help(如果您已登录该服务)。 - bryanbraun
1
使用grep:用于社区版:grep "gitlab-ce" /opt/gitlab/version-manifest.txt,用于企业版:grep "gitlab-ee" /opt/gitlab/version-manifest.txt。 - Marcelo Machado
显示剩余2条评论

140

对于综合版本:

sudo gitlab-rake gitlab:env:info

例子:

System information
System:     Ubuntu 12.04
Current User:   git
Using RVM:  no
Ruby Version:   2.1.7p400
Gem Version:    2.2.5
Bundler Version:1.10.6
Rake Version:   10.4.2
Sidekiq Version:3.3.0

GitLab information
Version:    8.2.2
Revision:   08fae2f
Directory:  /opt/gitlab/embedded/service/gitlab-rails
DB Adapter: postgresql
URL:        https://your.hostname
HTTP Clone URL: https://your.hostname/some-group/some-project.git
SSH Clone URL:  git@your.hostname:some-group/some-project.git
Using LDAP: yes
Using Omniauth: no

GitLab Shell
Version:    2.6.8
Repositories:   /var/opt/gitlab/git-data/repositories
Hooks:      /opt/gitlab/embedded/service/gitlab-shell/hooks/
Git:        /opt/gitlab/embedded/bin/git

21
可以,但它太慢了。对于这样一个简单的任务——检查版本,使用网页链接/帮助页面是更好的解决方案。 - stamster
7
OP问道:“这只能通过终端完成吗?” - ntwrkguru
5
这个命令在做什么,为什么要花这么长时间才能返回版本信息? - Gregory Arenius
1
@stamster 是的,这个过程比较慢,但是如果你在一个服务器集群上运行gitlab,如果只有一个服务器升级失败了,你可能需要手动检查那台服务器。 - Reuben deVries

86

您可以通过URL、Web GUI和ReST API访问版本。

通过URL

在浏览器中键入https://your-gitlab-url/help,即可查看显示版本的HTML页面。只有登录后才会显示版本。

通过Web GUI菜单

如果您不想输入URL,也可以通过GitLab Web GUI菜单访问相同的HTML页面:

在GitLab 11及更高版本中

  1. 登录GitLab
  2. 点击右上方的下拉菜单?,选择帮助
  3. GitLab版本将显示在页面顶部

在早期版本中,例如GitLab 9

  1. 登录GitLab
  2. 点击左上角的下拉菜单three lines,选择帮助
  3. 然后版本将显示在页面顶部

通过ReST API

以任何用户身份登录,选择屏幕右上角的用户图标。选择设置>访问令牌。创建个人访问令牌并将其复制到剪贴板中。

在Linux shell中使用curl访问GitLab版本:

curl --header "PRIVATE-TOKEN: personal-access-token" your-gitlab-url/api/v4/version

然后呢?你能具体一点吗?我正在尝试以非管理员身份设置python-gitlab,但找不到API版本。 - blkpingu
这个CURL技巧非常好用,谢谢! - nass
GitLab建议您使用Metadata API而不是Version API。它包含了额外的信息,并且与GraphQL元数据端点对齐。从GitLab 15.5开始,Version API是Metadata API的镜像。 - Philippe GRANET

45

如果你正在使用GitLab的自托管版本,那么你可以考虑运行以下命令:

grep gitlab /opt/gitlab/version-manifest.txt


到目前为止,我在使用GitLab自托管12.10.x方面看到的最简单的解决方案,非常感谢。 - Johnny Utahh
它比GitLab推荐的答案更好,因为不需要登录或使用URL。 - Andry

27

23

19

进入 /opt/gitlab 目录

查看 version-manifest.txt 文件内容

示例:

gitlab-ctl 6.8.2-omnibus
gitlab-rails v6.8.2

当前 GitLab 版本为 6.8.2

控制台截图


9

如果使用Gitlab Docker镜像:

# from the host, not inside container
sudo cat /srv/gitlab/data/gitlab-rails/VERSION

示例输出:

12.1.3

同样的文件可以在运行的容器中找到,路径为/var/opt/gitlab/gitlab-rails/VERSION

我想你是指映射的路径,该文件位于运行中的容器下的 /var/opt/gitlab/gitlab-rails/VERSION 目录下。 但是没错,它是有效的。 - sneaky
@sneaky 谢谢,我澄清了我的回答。 - DLight

8

获取有关GitLab及其运行系统的信息:

bundle exec rake gitlab:env:info RAILS_ENV=production

示例输出gitlab:env:info
System information
System:     Arch Linux
Current User:   git
Using RVM:  yes
RVM Version:    1.20.3
Ruby Version:   2.0.0p0
Gem Version:    2.0.0
Bundler Version:1.3.5
Rake Version:   10.0.4

GitLab information
Version:    5.2.0.pre
Revision:   4353bab
Directory:  /home/git/gitlab
DB Adapter: mysql2
URL:        http://gitlab.arch
HTTP Clone URL: http://gitlab.arch/some-project.git
SSH Clone URL:  git@gitlab.arch:some-project.git
Using LDAP: no
Using Omniauth: no

GitLab Shell
Version:    1.4.0
Repositories:   /home/git/repositories/
Hooks:      /home/git/gitlab-shell/hooks/
Git:        /usr/bin/git

阅读这篇文章,它会帮助你。


5
功能正常,但在进入gitlab安装目录之前需要更改当前目录:cd /home/git/gitlab(否则会报告:无法找到Gemfile)。 - Maxim
1
在运行Ubuntu 14.04 LTS (trusty)时,我可以使用以下命令来实现相同的功能:gitlab-rake gitlab:env:info RAILS_ENV=production - Thomas Urban

8

除了http://domain-name/help,您也可以通过以管理员身份登录并在浏览器中检查Gitlab版本名称来进行检查

  • 前往http://domain-name
  • 以管理员身份(Root)登录Gitlab
  • 进入管理区域
  • 在右上角的Groups选项卡下方,您可以找到Components选项卡

在那里,您不仅可以找到Gitlab版本,还可以找到不同的组件,如Gitlab Shell、Gitlab Workhorse、Gitlab API等,版本号为 输入图像描述 您还会发现更新版本的建议


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接