Helm Chart.yaml का उपयोग करके पैकेजिंग करते समय आपको एक संस्करण निर्दिष्ट करना होगा . हम चाहते हैं कि चार्ट संस्करण ऐप्स संस्करण से मेल खाए।
यदि दो स्थानों पर अद्यतन करने के लिए याद रखने (या नहीं) के बजाय हमारी मौजूदा version.txt फ़ाइल को पढ़ने का कोई तरीका है?

0
Jethro 18 अप्रैल 2020, 12:48

1 उत्तर

सबसे बढ़िया उत्तर

वहाँ नहीं है। चीजों को और अधिक भ्रमित करने के लिए, Chart.yaml फ़ाइल में एक appVersion फ़ील्ड भी है, जिसमें कहा गया है कि आप किस एप्लिकेशन के संस्करण की पैकेजिंग कर रहे हैं, लेकिन यह एक छवि टैग को मान के रूप में निर्दिष्ट करने में सक्षम होने के लिए भी लगभग सार्वभौमिक है, उसी प्रभाव से।

यह फ़ील्ड वास्तव में केवल हेल्म-विशिष्ट टूलिंग द्वारा उपयोग की जाती है, उदाहरण के लिए यदि यह चार्ट अन्य चार्ट की निर्भरता के रूप में सूचीबद्ध है या यदि आप चार्ट को केंद्रीय भंडार में प्रकाशित कर रहे हैं। यदि आप इनमें से कोई भी काम नहीं कर रहे हैं तो आप version: फ़ील्ड को बड़े पैमाने पर अनदेखा कर सकते हैं।

यदि आपका सीआई सिस्टम हेल्म चार्ट को एक रिपॉजिटरी में प्रकाशित कर रहा है, तो आपको इसे प्रकाशित करने से पहले Chart.yaml फ़ाइल को संशोधित करने के लिए मजबूर होना पड़ सकता है। एक साधारण sed कमांड काम करेगा

sed -i.bak "s/^version:/version: $APP_VERSION/" Chart.yaml

लेकिन यह स्थापित करने के लिए थोड़ा गन्दा हो जाता है।

यदि आपके पास अधिक औपचारिक "रिलीज़" प्रक्रिया है तो आपको दोनों जगहों पर संस्करण संख्या को अपडेट करना याद रखना होगा; संस्करण संख्याओं को अद्यतन करने के लिए एक शेल स्क्रिप्ट लिखना (और स्रोत नियंत्रण में रिलीज को टैग करना, और जो भी अन्य कार्य आपको चाहिए) शायद सबसे सरल उत्तर है।

2
David Maze 18 अप्रैल 2020, 11:49