2017-10-31 5 views
0

テストステージでエラーが発生した場合、CIパイプラインが失敗することはありますか?ここでGitlab stop Dockerized R CMDチェックエラーが返された場合

は私のテスト段階である:ここで

Test: 
    stage: Test 
    script: 
    - docker build -t r-docker-ci-test -f test.Dockerfile . 
    - docker run r-docker-ci-test 

は私test.Dockerfileです:

FROM r-base 

RUN apt-get update && apt-get install -y libcurl4-openssl-dev libssl-dev libxml2-dev 

RUN R -e "install.packages(c('devtools', 'testthat'), dependencies=TRUE)" 

COPY . /usr/local/src/test 
WORKDIR /usr/local/src/test 

CMD R -e "devtools::check()" 

そして、ここでは、出力されます。GitLabとドッカーはとして働いている

R CMD check results 
1 error | 2 warnings | 2 notes 
. 
. 
. 
Job succeeded 

答えて

0

期待されている、それはあなたが実行しているコマンドの終了コードについてのより多くの質問です、あなたの問題はそれは0 evですテストエラーが報告されたとき。

DockerfileCMDスタンザでこれを実行して、テスト実行RコマンドをR CMD check(推奨:here)に変更することができます。

それとも、このような非ゼロの終了コードにGitLabパイプライン仕様とgrepあなたの方法で取り組むことができます。

Test: 
    stage: Test 
    script: 
    - docker build -t r-docker-ci-test -f test.Dockerfile . 
    - docker run r-docker-ci-test | | grep '^0\serror' > /dev/null 
+0

おかげで、私が引っ張って、それがgitlab用ドッキングウィンドウランナーを使用して実行させることができましたrベース画像を使用し、「R CMDチェック」を使用する。 ! –

関連する問題