2017-12-14 13 views
0

キュータとしてドッカ+マシンを使用しているとき、私は[runner.docker]セクションの役割を理解することはできませんdocumentation on autoscalingを読ん:ドッカーマシンのユースケースのconfig.tomlの[runners.docker]セクションの使い方は?

executors documentation
[runners.docker] 
    image = "ruby:2.1"    # The default image used for builds is 'ruby:2.1' 

それは言う:

ドッカ+マシンを:ドッキングウィンドウのような、しかし、オートスケールドッカマシンを使用しています - これは[runners.docker]の存在を必要とし、[runners.machine]

私はdefinする必要がありますこの[runners.docker]セクションで[runners.machine]セクションを使用できるようになりましたが、この[runners.docker]の目的は何ですか? なぜ私はそれを使用する理由を理解していないように構成する方法を見つけることができません。

私たちのgitlab-runnerはvSphere VM上で動作し、vmwarevsphereを使用してMachineDriverでdocker + machine executorを使用して拡大縮小するように設定されています。すべてうまくいきますが、設定ファイルを完全に理解したいと思います。

私が理解できない[runners.docker]のconfig.tomlファイル(ここに書いた人が会社を去ったので、私は彼に尋ねることはできません):

[[runners]] 
    name = "gitlab-runner" 
    limit = 6 
    output_limit = 102400 
    url = "http://gitlab.**************.lan" 
    token = "*******************" 
    executor = "docker+machine" 

    [runners.docker] 
    tls_verify = false 
    image = "docker:latest" 
    dns = ["*.*.*.*"] 
    privileged = true 
    disable_cache = false 
    volumes = ["/etc/localtime:/etc/localtime:ro", "/var/run/docker.sock:/var/run/docker.sock", "/etc/docker/certs.d:/etc/docker/certs.d", "/cache:/cache", "/builds:/builds"] 
    cache_dir = "cache" 
    shm_size = 0 

    [runners.cache] 
    Type = "s3" 
    ServerAddress = "*.*.*.*" 
    AccessKey = "*****************" 
    SecretKey = "*****************" 
    BucketName = "runner" 
    Insecure = true 

    [runners.machine] 
    IdleCount = 4 
    MaxBuilds = 10 
    IdleTime = 3600 
    MachineDriver = "vmwarevsphere" 
    MachineName = "gitlab-runner-pool-1-%s" 
    MachineOptions = ["vmwarevsphere-username=************", "vmwarevsphere-password=*****************", "vmwarevsphere-vcenter=*.*.*.*", "vmwarevsphere-datastore=*********", "vmwarevsphere-memory-size=3096", "vmwarevsphere-disk-size=40960", "vmwarevsphere-cpu-count=3", "vmwarevsphere-network=*****************", "vmwarevsphere-datacenter=**************", "vmwarevsphere-hostsystem=*******************", "engine-storage-driver=overlay2", "engine-insecure-registry=**************", "engine-insecure-registry=*******************"] 
    OffPeakPeriods = ["* * 0-8,21-23 * * mon-fri *", "* * * * * sat,sun *"] 
    OffPeakTimezone = "Local" 
    OffPeakIdleCount = 1 
    OffPeakIdleTime = 600 

答えて

1

[runners.machine]セクションでは、どのように開始し、規定あなたのランナーのマシンを定義し、[runners.docker]セクションは、そのマシン上でランナーを設定する方法を定義します。 (あなたがhereを読むことができるよう)のみ、次のない、独自の

ドッカー機:

「ドッカーマシンでは、仮想ホスト上ドッカーエンジンをインストールするためのツールである、としてホストを管理ドッカー - 機械コマンド。

は、これは、あなたはまだランナーを使用するか、デフォルトの画像を知っている必要があり、どのようなボリュームをマウントするため[runners.docker]セクションの出番こととthatsの後に走者を設定する必要がありGitlabランナーで何もしません

+0

私が理解すれば、runners.machineの部分は、vsphereドライバを使ってvsphereサーバー上にVMを作成する方法を決定します。その後、ドッキングマシンによってboot2docker isoから構築されたこのVMでは、ドッカーエンジンが実行されています。 CIパイプラインを実行すると、.gitlab-ci.ymlファイルで使用されるドッカー画像が定義されます。私たちのケースではほとんどの場合、gradle:latest。ですから、config.toml内のこのrunner.dockerイメージパラメータが使用され、どのコンテナに対して使用されるかは、最終的にこのパラメータが決して使用されないように思われるためです。それで、なぜマニュアルに要求されているのですか? –

+0

それは正しいです。 ymlファイルに定義した場合は、必要ありません。ドキュメントでは、このドッカーマシンの設定で共有ランナーを定義します。それは私たちの会社の場合です。誰かが自分のymlに画像を定義していない場合、runner.dockerのデフォルトのものが使用されます。 –

+0

どうもありがとう。 –

関連する問題