2015-10-29 19 views
8

का आउटपुट नहीं मिल रहा है मेरे पास सामान्य तीन चरणों में स्थापित मेरी .gitlab-ci.yml फ़ाइल है: परीक्षण, निर्माण, तैनाती। बिल्ड स्टेज के दौरान, मैं एक कमांड चलाता हूं जो मेरी प्रोजेक्ट को संकलित करता है और इसे टैरबॉल में रखता है। बिल्ड चरण सफलतापूर्वक निष्पादित प्रतीत होता है क्योंकि यह तैनाती चरण पर चलता है, लेकिन तैनाती चरण तब कहता है कि यह टैरबॉल नहीं ढूंढ सकता है। क्या यह एक और निर्देशिका में है? इसके साथ क्या हुआ? धन्यवाद।गिटलैब सीआई: बिल्ड स्टेज

+1

संबंधित https://about.gitlab.com/2016/03/10/setting-up-gitlab-ci-for-ios-projects/ आप 'कलाकृतियों: पथ:' बना सकते हैं। जो बाद में डाउनलोड के लिए अनुमति देता है। – Unapiedra

+0

हाँ, मुझे पूरा यकीन है कि इसे पोस्ट करने के बाद जोड़ा गया था। – sajattack

उत्तर

3

प्रत्येक परीक्षण gitlab-ci बिल्ड फ़ोल्डर को साफ़ करने के लिए, इसलिए बिल्ड चरण की आउटपुट फाइलें तैनाती चरण में उपलब्ध नहीं हैं।

आपको तैनाती चरण में भी अपनी परियोजना का पुनर्निर्माण करने की आवश्यकता है।

"चरण" केवल आपके परीक्षणों को ऑर्डर करने के लिए उपयोगी हैं, यानी यदि कोई परीक्षण परीक्षण विफल हुआ तो तैनाती परीक्षण करने का प्रयास करने से बचें।

संपादित करें: Gitlab 8.6 के बाद से, यह संभव का उपयोग कर dependencies feature

+0

अजीब। संकलन को एक अलग नौकरी में रखना बेहतर होगा? ऐसा करने के लिए DRY तरीका क्या है? – sajattack

+0

ओह हाँ, यह बेहतर होगा, लेकिन ** इस समय ** आप अन्य चरणों/परीक्षणों से आउटपुट का पुन: उपयोग नहीं कर सकते हैं। – jeremf

4

मैं (GitLab 8.4 पर) एक ही व्यवहार देख कर हैरान था।

मेकफ़ाइल बनाने के लिए cmake का उपयोग करें, फिर make बनाने के लिए, और फिर make test परीक्षण चलाने के लिए। मैं इन सभी को build/ निर्देशिका में चलाता हूं।

मैं खुद को दोहराना नहीं चाहता हूं और आसानी से पहचान सकता हूं कि कौन से कदम विफल हो रहे हैं। cmake, make, test, आदि मैं तो gitlab-ci बता cache विकल्प का उपयोग build निर्देशिका रखने के लिए:

cache: 
    key: "$CI_BUILD_REF_NAME" 
    untracked: true 
    paths: 
     - build/ 

मुझे लगता है कि इस तरह के रूप में, मैं अलग gitlab-ci चरणों बना लिया है key विकल्प एक ही शाखा पर कार्यरत सभी चरणों के लिए एक ही निर्माण निर्देशिका रखेगा। यहां gitlab-ci दस्तावेज़ देखें: http://doc.gitlab.com/ce/ci/yaml/README.html#cache

संपादित करें: इस के लिए cache का उपयोग न करें! गिटलैब ने 8.4: https://gitlab.com/gitlab-org/gitlab-ce/issues/3423 चरणों के बीच पुन: प्रयोज्य कलाकृतियों को कार्यान्वित किया। सीआई धावकों को इसका समर्थन करने के लिए अनुकूलित किया जाना होगा। देखें: https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/issues/336

+0

मैं # 3423 पोस्ट करने के लिए वापस आया लेकिन मुझे लगता है कि आप पहले ही कर चुके हैं। +1। ऐसा लगता है कि इस सुविधा को कुछ बार पीछे धकेल दिया गया है। – sajattack

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