2016-04-14 9 views
6

मैं खिड़कियों 10 पर एक Gitlab सीआई धावक चल रहा है:Gitlab सीआई खोल धावक पर निर्माण असफल कैसे

before_script: 
    - "echo off" 
    - 'call "%VS120COMNTOOLS%\vsvars32.bat"' 
    - echo. 
    - set 
    - echo. 

stages: 
    - build 

build: 
    stage: build 
    script: 
    - 'StatusTest.exe' 
    #- msbuild... 

मैं StatusText.exe साथ निर्माण विफल कोशिश कर रहा हूँ (मैं स्थिति कोड लौटने की कोशिश की -1 , 0,1; अपवाद फेंकना आदि) लेकिन धावक केवल अपवाद लॉग करता है और निम्न चरणों के साथ जारी रहता है।

क्या निर्धारित करता है कि सीआई खोल धावक को निर्माण में विफल होना चाहिए और अगले चरण में आगे बढ़ना चाहिए?

आउटपुट:

... 
windows_tracing_logfile=C:\BVTBin\Tests\installpackage\csilogfile.log 
$ echo. 

$ StatusTest.exe 

Unhandled Exception: System.Exception: tralala 
    at StatusTest.Program.Main(String[] args) 
$ echo "Restoring NuGet Packages..." 
... 
+0

आज आप के रूप में ही इस मुद्दे का सामना करना पड़, मैं पोस्ट एक जवाब जो मेरे लिए काम कर रहा है।उम्मीद है कि यह आपको और दूसरों की मदद करेगा –

उत्तर

6

क्या निर्धारित करता है कि सीआई खोल धावक को निर्माण में विफल होना चाहिए और अगले चरण पर आगे बढ़ना चाहिए?

1) यह और जब विफल हो

आप अपने gitlab-ci.yml

- # .... 
- exit 1 

चरण निष्पादन परिणाम विफल में इस लाइन जोड़ने की जरूरत है अगले चरण पर जाने नहीं करता है:

enter image description here

और फिर जब आप अपना मंच देखें (मेरे मामले में तीसरा एक) परिणाम में विफल रहा हो जाएगा:

enter image description here

2) यह

जब सफल होने चाहिए आप अपने gitlab-ci.yml

- # .... 
- exit 0 

चरण निष्पादन परिणाम होना चाहिए में इस लाइन जोड़ने की जरूरत है:

enter image description here

और उसके बाद जब आप अपने मंच पर देखने के (मेरे मामले में 3 एक) परिणाम अगले चरण में जाने के लिए ठीक है और तैयार हो जाएगा:

enter image description here

0

आपका StatusTest.exe एक संकेत 1,0 वापस जाने के लिए, -1 स्थिति कोड के रूप में है। यह आपके आवेदन में लागू किया जाना चाहिए। अन्यथा यदि आपका एप्लिकेशन विफल रहता है तो धावक सूचित नहीं करेगा। लगभग हर प्रोग्रामिंग भाषा में स्टेटस कोड वापस करने के तरीके हैं।

C#

जावा

System.exit(exitCode) # exitCode = 1 or 0 or -1

[...] और इतने पर।

शायद अपवाद फेंकने का प्रयास न करें, बस एक स्टेटस कोड लौटाएं।

संबंधित मुद्दे