2014-12-02 68 views
1

我有在詹金斯運行iOS測試葫蘆。當作業遇到失敗時,我有時會通過按作業中的停止[x]按鈕手動中止測試。問題是功能文件中的下一個測試開始運行,即使我中止了。在通過終端啓動測試時,不會出現此行爲。當在終端退出黃瓜測試時,sim將回到家中,並且不會啓動其他測試。詹金斯不停止黃瓜測試當中止(按下停止[x]按鈕)

我發現,可能是有用的鉤子

After do |s| 
    # Tell Cucumber to quit after this scenario is done - if it failed. 
    Cucumber.wants_to_quit = true if s.failed? 
end 

然而,有些時候,我不希望它停止只是因爲一個場景失敗。我覺得詹金斯需要殺死所有進程,而不是。

如果有人知道如何在Jenkins被指示中止後通過終端手動殺死葫蘆及其實例,我也會對此感興趣。

我想:

ps aux | grep -i instruments | awk {'print $2'} | xargs kill -9 

不幸的是,沒有工作。可能有兩個原因

  1. greping儀器示出了兩個或更多個工藝

20272? S 0:00.00 sh -c xcrun instruments -w「iPhone 5(8.1模擬器)...

20273 ?? S 0:00.45 /Applications/Xcode.app/Contents/Developer/usr/bin/instruments -w iPhone 5] ...

我應該切換AWK打印第1列?

或理由二

  • 我不greping正確的進程?
  • 以下是我的一些版本信息:

    葫蘆-IOS版本:0.11.4

    葫蘆::黃瓜:: MIN_SERVER_VERSION:0.11.4

    的Xcode 6.1

    回答

    1

    你必須讓詹金斯找到所有派生進程。根據作業類型的不同,您必須將不同的環境條目傳入分叉過程。 This問題是關於另一種方式(所以如何讓詹金斯不要停止進程),但可能的環境條目的名稱在那裏。只是通過這些環境條目下面每個分叉過程,然後process tree killer會發現他們:

    • BUILD_ID
    • HUDSON_SERVER_COOKIE
    • JENKINS_COOKIE
    • JENKINS_SERVER_COOKIE
    • HUDSON_COOKIE
    +0

    我能使用'export BUILD_ID = $ BUILD_ID',那就做到了。感謝您指點道路。 – JJacquet 2014-12-09 00:54:06