2013-01-24 32 views
1

目前我們的Jenkins構建失敗。當構建失敗時,我希望它通過(或顯示綠色)。同樣的速度,我希望我們的構建失敗(或顯示紅色),當案件通過。我正在配置的構建是我們的「已知問題構建」。所以只有失敗的案例在那裏。這個構建的目標是在它失敗時通過,因爲我們知道它已經被破壞了。當我們的開發人員修復它時,構建應該會失敗(這意味着現在有一些工作正在進行),以便我們可以將其從構建中移出到我們的核心構建中。我閱讀了關於--wip開關的一篇文章,並已成功將其配置到我們的版本中。我一直在接收Jenkins構建的郵件恢復正常,這對我來說似乎很奏效。但是,當您查看構建本身時,看起來好像失敗了。構建被標記爲紅色,這意味着失敗,測試表示失敗。他們通過的唯一指標是我收到的電子郵件。但這不是我要去做的預期行爲。構建似乎提醒我,它通過但看起來好像失敗了。有沒有辦法讓紅色按鈕變綠,所以當我們看着我們的構建時,我們知道什麼時候出現問題。Jenkins失敗構建:我希望它通過

現在我將|| exit 1添加到我的命令的結尾,該命令應該顛倒失敗並傳遞的標誌。我還創建了一個簡短的bash腳本來反轉按鈕的顏色,這也不起作用。我相信我錯過了一些東西。有任何想法嗎?下面列出的是我正在推出我們的構建命令:

cucumber --wip --profile wip --format json -o cucumber.json /var/lib/jenkins/workspace/Cucumber\ -\ Known\ Issues\ Build/ SITE=devel || exit 1 
+0

愚蠢的,但憲法! – jwg

回答

2

command || exit 1的意思是「如果command失敗,則exit 1(即失敗)

你剛纔說,你想建立,如果你的命令失敗是成功的,所以你需要:
command && exit 1 || exit 0

以上,如果command是成功的,然後建立被標記爲失敗,否則(如果command不成功),標誌着構建蘇CCESS

這裏是工作的控制檯輸出:

Started by upstream project "Cucumber - Devel Parent Build" build number 58 
originally caused by: 
Started by timer 
Xvfb starting$ /usr/bin/Xvfb :75 -screen 0 1024x768x24 -fbdir /var/lib/jenkins/2013-01-25_22-24-203386303931627225842xvfb 
Building remotely on dev548 in workspace /var/lib/jenkins/workspace/Cucumber - Known Issues Build 
Checkout:Cucumber - Known Issues Build//var/lib/jenkins/workspace/Cucumber - Known Issues Build - [email protected]:dev548 
Using strategy: Default 
Last Built Revision: Revision f48428cc3128a0d6369ea99bbdbdf419bc29b173 (Cucumber/master) 
Fetching changes from 1 remote Git repository 
Fetching upstream changes from [email protected]:/cucumber.git 
Commencing build of Revision dad2f8792ec364e79dd76840f787d5e72676b03f (Cucumber/master) 
Checking out Revision dad2f8792ec364e79dd76840f787d5e72676b03f (Cucumber/master) 
Deleting old artifacts from #137 
[Cucumber - Known Issues Build] $ /bin/bash /tmp/hudson3196742906607332265.sh 
Using the wip profile... 
Xvfb stopping 
Archiving artifacts 
[CucumberReportPublisher] Compiling Cucumber Html Reports ... 
[CucumberReportPublisher] detected this build is running on a slave 
[CucumberReportPublisher] copying json from: file:/var/lib/jenkins/workspace/Cucumber%20-%20Known%20Issues%20Build/to reports directory: file:/var/lib/jenkins/jobs/Cucumber%20-%20Known%20Issues%20Build/builds/2013-01-25_22-24-20/cucumber-html-reports/ 
[CucumberReportPublisher] Generating HTML reports 
Build step 'Publish cucumber results as a report' marked build as failure 
Notifying upstream projects of job completion 
Finished: FAILURE 

這是我的配置構建步驟:

​​
+0

運行構建兩次後,這仍然不起作用。這是我的: 「COMMAND && exit 1 || exit 0」 間距是否重要嗎?我把命令_ && _ exit_1_ || _exit_0 (當然下劃線代表一個空格) – tSebastian

+0

間距無關緊要。也許你可以粘貼你工作中的控制檯輸出。您的作業配置中是否有其他構建步驟? – Slav

+0

我對原始問題添加了一些更多的細節,以瞭解問題。 – tSebastian