2016-07-25 50 views
0

場景取決於一個搬運工像它的下面:Gitlab亞軍:這是可能的運行,從另一個

我需要運行grunt serve服務於我的應用程序在本地主機:9000在我使用泊塢窗容器持續集成的過程中,然後我需要運行另一個容器,使用該應用程序在本地主機服務:9000,執行集成測試:

我gitlab.yml文件

unit-testing: 
    image: karma-testing 
    script: 
    - npm install && bower install && karma start && grunt serve 
    cache: 
    paths: 
    - node_modules/ 
    - bower_components/ 

behavior-testing: 
    image: protractor-ci 
    script: 
    - npm install protractor-cucumber-framework cucumber && xvfb-run --server-args='-screen 0 1280x1024x24' protractor protractor.conf.js 
    cache: 
    paths: 
    - node_modules/ 
    - bower_components/ 

第一個圖像運行在localhost:9000中爲我的應用程序提供服務的grunt serve任務,我希望第二個圖像使用此正在運行的應用程序來運行另一個腳本。

回答

1

不,你不能那樣做。作業可以運行在不同的跑步者上,並且不能確定他們是以並行還是按順序運行。

你可以也應該在使用它的同一個任務中運行grunt服務器。準備好的碼頭圖像或special YAML features可能在此處有用。

+0

謝謝,使用你的答案我終於明白,我一直在做錯誤的方式來測試我的應用程序使用量角器和硒驅動程序。 e2e測試需要我的應用程序先前已部署!在使用量角器框架之前,我一直在嘗試運行我的應用程序。 Noob錯誤:(。謝謝! –

+0

這並非完全正確 - 您可以將其中一個容器定義爲[service](http://docs.gitlab.com/ce/ci/docker/using_docker_images.html#define-image-和-service-from-.gitlab-ci.yml)所以理論上你可以做一個準備工作來建立'grunt serve'容器,並且在後面的階段將它作爲一個服務來使用,並不是說這是一個好主意;) – Martin