2017-12-13 6 views
0

GitLab CIはCI_SERVER_VERSION predefined variableを提供しています.GitLabのどのバージョンがジョブのスケジュールに使用されたかを判断するのに最適ですが、ジョブを実行しているGitLab Runnerのバージョンを取得するにはどうすればいいですか? Windowsのシェルエグゼキュータを使用しています。GitLab CIジョブの中で、どのバージョンのGitLab Runnerが使用されているかをどのように知ることができますか?

これは医療用ソフトウェアで、ランナーのバージョンが検証済みのものと一致しているかどうかを確認する必要があります。

+0

上流問題:https://gitlab.com/gitlab-org/gitlab-ce/issues/41090 – nocnokneo

答えて

0

CI_RUNNER_DESCRIPTION,CI_RUNNER_IDおよびCI_RUNNER_TAGSしか含まれていないため、これは事前定義された変数では考えられません。

this sectionおよび例で説明したように、ランナーconfig.tomlenvironment設定を使用して回避策を作成することができます。

[[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、人形、シェフや他のプロビジョニングツールのようなものを使用する場合は、あなたが作ることができます彼らはランナーをアップグレードすると、彼らは設定を更新することを確認してください

または、毎日/夜に基づいてconfig.tomlのCI_RUNNER_VERSION値を置き換えて、ランナーサービスを再起動するbashスクリプトを作成します。それはかなり簡単です。

あなたが実行することで、バージョンや、あなたのランナー(とのみ正確なバージョン)を取得することができます:

$ gitlab-runner --version | head -n 1 | awk '{print $2}' 
関連する問題