GitLab CI提供CI_SERVER_VERSION
predefined variable,它非常适合确定用于安排作业的GitLab版本,但作业如何获得正在执行作业的GitLab Runner版本?我在Windows 10上使用Shell执行程序。
这是针对医疗软件,我需要检查跑步者的版本是否符合我们验证的版本。
答案 0 :(得分:0)
我不认为使用预定义变量是可行的,因为它们只包含CI_RUNNER_DESCRIPTION
,CI_RUNNER_ID
和CI_RUNNER_TAGS
。
您可以使用this section中举例说明的跑步者environment
中的config.toml
设置创建变通方法:
[[runners]]
name = "ruby-2.1-docker"
url = "https://CI/"
token = "TOKEN"
limit = 0
executor = "docker"
builds_dir = ""
shell = ""
environment = ["ENV=value", "CI_RUNNER_VERSION=10.2"]
clone_url = "http://gitlab.example.local
如果您使用Ansible,Puppet,Chef或其他配置工具之类的东西,您可以确保他们在升级跑步者时更新配置,例如
或者创建一个bash脚本,根据每天/每晚替换config.toml中的CI_RUNNER_VERSION值,然后重新启动跑步者服务。这很容易。
您可以通过运行以下内容获取版本或跑步者(以及仅限确切版本):
$ gitlab-runner --version | head -n 1 | awk '{print $2}'