मैं आईओएस चेकआउट-बिल्ड-टेस्ट-डिप्लॉय पाइपलाइन निष्पादित करने के लिए जेनकींस पाइपलाइन प्लगइन का उपयोग कर रहा हूं।जेनकींस पाइपलाइन प्लगइन: खोलें और पार्स आउटपुट निष्पादित करें
एक चरण में यह जांचना शामिल है कि iDevice वास्तव में कनेक्ट है या नहीं, अन्यथा बाकी चरणों को निष्पादित नहीं किया जाएगा)।
मैं एक खोल कमांड idevice_id -l
(libimobiledevice से) निष्पादित करना चाहता हूं जो कनेक्टेड डिवाइस की डिवाइस आईडी मुद्रित करेगा, या कुछ भी कनेक्ट होने पर विफल हो जाएगा।
तो चरणों मैं उन्हें कल्पना के रूप में, होगा:
- आदेश निष्पादित
sh "/usr/local/bin/idevice_id -l"
- उत्पादन पार्स किसी भी तरह
- असफल इस आदेश कुछ भी वापस नहीं करता है।
मैंने अधिकांश आधिकारिक दस्तावेज़ पढ़े हैं, लेकिन एक खाली खींचा है। मैं sh
चरण के आउटपुट को कैसे पार्स करूं? यदि मैं गलत तरीके से इस पर आ रहा हूं, तो कोई अन्य सुझाव स्वागत है।
शानदार! यह मेरे लिए ठीक काम करता है। 'sh ('/ usr/local/bin/idevice_id -l> DEVICE_ID'); डिवाइसआईडी = रीडफाइल ('GIT_COMMIT') ' – Vish
[जेनकिन्स -26133] (https://issues.jenkins-ci.org/browse/JENKINS-26133) वैसे भी। –
यह "आधिकारिक" विधि/वर्कअराउंड नहीं है, अद्यतन विधि के लिए [यह उत्तर] (http://stackoverflow.com/a/39102404/702954) देखें। – Pom12