2014-11-07 8 views
40

में इको बंद करें मैं guideline का अनुसरण कर रहा हूं जेनकींस के साथ एंड्रॉइड एपीके पर हस्ताक्षर कैसे करें। मैंने केएसटीओआरडब्ल्यूडी और केईपीडब्ल्यूडी के साथ जेनकिंस नौकरी को पैरामीट्रिज्ड किया है। जेनकींस 'काम विन्यास (बनाएँ-> खोल निष्पादित करें) का एक हिस्सा वे पैरामीटर लेते हैं और उन्हें वातावरण चर के रूप में स्टोर करने के लिए है:जेनकींस कंसोल आउटपुट

export KSTOREPWD=${KSTOREPWD} 
export KEYPWD=${KEYPWD} 
... 
./gradlew assembleRelease 

जब निर्माण किसी पर "कंसोल आउटपुट" है निर्माण का उपयोग कर सकते समस्या है और देखें कि कौन से पासवर्ड दर्ज किए गए थे; कि उत्पादन का हिस्सा:

08:06:57 + export KSTOREPWD=secretStorePwd 
08:06:57 + KSTOREPWD=secretStorePwd 
08:06:57 + export KEYPWD=secretPwd 
08:06:57 + KEYPWD=secretPwd 

तो मैं export आदेशों से उत्पादन से पहले गूंज को दबाने के लिए और export आदेशों के बाद गूंज पुन: सक्षम करना चाहते हैं।

उत्तर

80

डिफ़ॉल्ट रूप से, जेनकिंस set -x के साथ शैल स्क्रिप्ट निष्पादित करता है। इससे सभी आदेशों को प्रतिबिंबित किया जा सकता है

आप उस व्यवहार को अस्थायी रूप से ओवरराइड करने के लिए किसी भी आदेश से पहले set +x टाइप कर सकते हैं। बेशक आपको उन्हें फिर से दिखाना शुरू करने के लिए set -x की आवश्यकता होगी।
#!/bin/bash +x

+4

संयोग के लिए मैंने पाया '#/bin/bash' भी के लिए काम किया! मुझे। – vikingsteve

1

अपने विशिष्ट स्थिति में (Gradle और जेनकींस का प्रयोग करके) आप भी एक पासवर्ड पैरामीटर इस्तेमाल कर सकते हैं,:

आप इस व्यवहार को पूरी स्क्रिप्ट के लिए रख कर निर्माण कदम के शीर्ष पर निम्न ओवरराइड कर सकते हैं का उपयोग कर Gradle's pattern for environment variables (ORG_GRADLE_PROJECT_prop)। Gradle तो एक prop संपत्ति अपनी परियोजना पर सेट हो जाएगा।

आपके मामले में यह इस

कुछ ऐसा दिखाई देगा 0

और आप इस

signingConfigs { 
    release { 
     storeFile file(KEYSTORE) 
     storePassword KSTOREPWD 
     keyAlias ALIAS 
     keyPassword KEYPWD 
    } 
} 

की तरह अपने gradle.properties में इसका इस्तेमाल कर सकते हैं BTW - मैं का उपयोग करना चाहिये credentials binding pluginKEYSTORE enter image description here

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