2016-07-16 6 views
1

gitlab-ciがメインドッカーmy-deployを起動し、コードを/builds directoyにクローンします。Gitlab CI:ApacheサービスDockerのDocumentRootディレクトリをDockerにマウント

ここにサービスドッカーmy-apacheを追加しました。 my-apacheドッカーは、Apacheを起動し、ApacheルートのDocumentRootとして/shared/httpd/localhostを使用するように設定されています。

プロジェクトベース.gitlab-ci.ymlは、次のようになります。

# 
# This starts `my-deploy` docker and links an apache service docker... 
# 
testing: 
    stage: deploy 
    services: 
     - my-apache:latest 
    script: 
     - curl $MY_APACHE_PORT_80_TCP_ADDR 

今、私は(ディレクトリ/buildsmy-deployドッキングウィンドウ内の)私のチェックアウトされたコードは、ディレクトリ/shared/httpd/localhostにApacheのドッキングウィンドウmy-apacheにリンク/マウントすることにしたいです。

マウント/リンクは次のようになります。

my-deploy:/builds - >my-apache:/shared/httpd/localhost

これは、これを設定することができ、どのようであれば任意のアイデア?

ランナーはこのようになりますようmy-deployを追加マイgitlabランナーの設定(/etc/gitlab-runner/config.toml):

# Main Linter 
[[runners]] 
    url = "https://gitlab.mydomain.com/ci" 
    token = "XXXXXXXXXXXXXXXXXXXXXXXX" 
    name = "MY_DEPLOY" 
    executor = "docker" 
    limit = 0 
    [runners.docker] 
    image = "my-deploy:latest" 
    privileged = false 
    cache_dir = "" 
    disable_cache = true 
    wait_for_services_timeout = 90 

更新:

http://docs.gitlab.com/ce/ci/docker/using_docker_images.html#how-docker-integration-works

:gitlabがドッキングウィンドウの統合をどのよう

答えて

0

gitlab ci doc inマウントする必要があり、その[runners.docker] section

volumes 

指定を追加ボリュームでcludes:

すると、あなたが/buildとしてマウントう共通のボリュームを定義することを確認します(docker run -v optionと同じ構文は、「Mount a shared-storage volume as a data volume¶」を参照してください) my-deploysにあり、/shared/httpd/localhostmy-apacheです。

my-deploy:/buildで生成されたデータをmy-apache:/shared/httpd/localhostに表示することができます。

意味:

  • を最初にgitlab-ci.yml

    volumes = ["my-named-volume:/build", "my-named-volume:/shared/httpd/localhost"] 
    
  • のあなた [runners.docker]セクションにそのボリュームを使用し、 docker volume createと、
  • 秒(GitLabの外側)ドッカーデータボリュームを宣言する

+0

例を挙げてください。 – lockdoc

+0

@lockdoc答えにドキュメント、リンク、構文の例を追加しました。私が恐れているのは(まだテストしていないので)、複数のマウントポイントをボリュームで宣言するということです。これは、指定されたボリュームがサービスごとに2回マウントされることを意味します。 (1つは '/ build'にあり、'/shared/httpd/localhost'にあります)。それを確認し、少なくとも2つのコンテナが予想されるパスで同じボリュームを共有しているかどうかを確認します。 – VonC

+0

共通ディレクトリを作るために 'Dockerfile'の中に' VOLUME'を定義しなければなりませんか? – lockdoc

関連する問題