मेरे पास मेरे गिटलैब रेपो में कुछ टेम्पलेट हैं जिन्हें एस 3 बाल्टी में स्थानांतरित करने से पहले सत्यापित करने की आवश्यकता है। मैं अपने गिटलैब सीआई को प्रत्येक टेम्पलेट को अलग-अलग नाम देने के बजाय संपूर्ण टेम्पलेट निर्देशिका के लिए क्लाउडफॉर्मेशन चलाने की अनुमति कैसे दे सकता हूं?

मैं कुछ ऐसा सोच रहा था

for file in /templates/*.yml; do aws cloudformation validate-template --template-body file://$file > validation.log; done

गिटलैब सीआई में इसे कैसे करें इस पर कोई विचार?

0
githubnoobieme 21 अक्टूबर 2020, 17:20

1 उत्तर

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

आप इसे खोज/निष्पादन कमांड के साथ सरल बना सकते हैं, लॉग को फ़ाइल में पुनर्निर्देशित करना भी एक बुरा विचार हो सकता है क्योंकि उन्हें नौकरी के आउटपुट में देखना आसान है।

aws टूल के साथ शेल रनर (या डॉकर रनर) का उपयोग करके आप निम्न स्क्रिप्ट ब्लॉक प्राप्त कर सकते हैं:

script:
  - find path_to_templates -type f -name "*.yml" -exec aws cloudformation validate-template --template-body file://{} \;

रेपो में अपनी वास्तविक निर्देशिका के साथ path_to_templates बदलें। यह उस निर्देशिका में .yml के साथ समाप्त होने वाली प्रत्येक फ़ाइल के लिए आपके आदेश को निष्पादित करेगा।

1
Andrew 21 अक्टूबर 2020, 18:38