如何在Gitlab Omnibus中检查GO版本

问题描述

是否可以在Gitlab中检查GO版本。当我尝试运行gitlab-rake gitlab:env:info时,我得到的提示Go Version : UnkNown

我想知道Go的版本,以便检查是否可以为我的Gitlab实例集成某些监控工具,例如Dynatrace,因为Dynatrace仅支持较少的版本。

Current User:   myuser
Using RVM:      no
Ruby Version:   2.6.6p146
Gem Version:    2.7.10
Bundler Version:1.17.3
Rake Version:   12.3.3
Redis Version:  5.0.9
Git Version:    2.28.0
Sidekiq Version:5.2.9
Go Version:     unkNown

GitLab information
Version:        13.3.6-ee
Revision:       d7bc82f4b06
Directory:      /opt/gitlab/embedded/service/gitlab-rails
DB Adapter:     Postgresql
DB Version:     11.7
URL:            https://mygitlab.system
HTTP Clone URL: https://mygitlab.system/some-group/some-project.git
SSH Clone URL:  myuser@mygitlab.systems:some-group/some-project.git
Elasticsearch:  no
Geo:            no
Using LDAP:     yes
Using Omniauth: yes
Omniauth Providers:

解决方法

GitLab Omnibus软件包不包含任何go系统,因为go源已经被编译。仅从源代码安装才需要Go(例如,参见this gitlab问题)。

从2020年4月开始,GitLab的CI管道使用Go 1.14。请参见相应的yml文件here。如果您应该使用旧版本的GitLab,则可以检查文件的历史记录。

根据this构建文件,GitLab的Go二进制文件似乎是静态链接的。因此,您必须按照here

中的说明在Dynatrace中启用对静态链接的Go应用程序的支持。 ,

由于 Go 不是 GitLab 本身的一部分,而是我们用来编译 Go 的各种组件的 GitLab 版本,因此您需要检查为 Omnibus 包构建环境。

基于此,唯一可能的方法是在此处查看最新版本:

https://gitlab.com/gitlab-org/gitlab-omnibus-builder/-/blob/master/docker/VERSIONS