簡體   English   中英

如何讓 gitlab ci runner 從 docker-compose up some_service 獲取其退出代碼

[英]How to make gitlab ci runner get its exit code from docker-compose up some_service

我正在 GitLab 上使用 cypress 運行 e2e 測試。 這是我運行 Cypress 測試的命令:

docker-compose -f devops/e2e/docker-compose.yml up cypress

Cypress 服務只是基於cypress/included:8.4.0鏡像。

因此,在我的 Gitlab 工作中,當測試成功時,我會得到如下信息:

cypress      |        Spec                                              Tests  Passing  Failing  Pending  Skipped  
cypress      |   ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
cypress      |   │ ✔  login_spec.js                            00:04        1        1        -        -        - │
cypress      |   ├────────────────────────────────────────────────────────────────────────────────────────────────┤
cypress      |   │ ✔  multi_resolution_image_spec.js           00:41        1        1        -        -        - │
cypress      |   ├────────────────────────────────────────────────────────────────────────────────────────────────┤
cypress      |   │ ✔  plain_image_spec.js                      00:40        1        1        -        -        - │
cypress      |   ├────────────────────────────────────────────────────────────────────────────────────────────────┤
cypress      |   │ ✔  signup_spec.js                           00:10        1        1        -        -        - │
cypress      |   └────────────────────────────────────────────────────────────────────────────────────────────────┘
cypress      |     ✔  All specs passed!                        01:36        4        4    

cypress exited with code 0
.
.
.
Job succeeded

但是當測試失敗時,我得到:

cypress      |        Spec                                              Tests  Passing  Failing  Pending  Skipped  
cypress      |   ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
cypress      |   │ ✖  annotate_spec.js                         00:02        1        -        1        -        - │
cypress      |   ├────────────────────────────────────────────────────────────────────────────────────────────────┤
cypress      |   │ ✔  login_spec.js                            00:05        1        1        -        -        - │
cypress      |   ├────────────────────────────────────────────────────────────────────────────────────────────────┤
cypress      |   │ ✔  signup_spec.js                           00:13        1        1        -        -        - │
cypress      |   └────────────────────────────────────────────────────────────────────────────────────────────────┘
cypress      |     ✖  1 of 3 failed (33%)                      00:21        3        2        1    

cypress exited with code 1
.
.
.
Job succeeded

問題是在運行測試失敗的情況下,我仍然從 Gitlab 獲得Job succeeded 如何讓 Gitlab CI runner 從 cypress 服務退出代碼中獲取其退出代碼?

您可以嘗試使用選項--exit-code-from

docker-compose -f devops/e2e/docker-compose.yml up --exit-code-from cypress

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM