विभिन्न प्रोजेक्ट्स में GitLab CI/CD के साथ वर्षों के काम के बाद, यहाँ पाँच प्रैक्टिस हैं जो लगातार तेज़, अधिक विश्वसनीय पाइपलाइन देती हैं।

1. कैशिंग का समझदारी से उपयोग करें

जॉब्स के बीच डिपेंडेंसी को कैश करें:

cache:
  key: ${CI_COMMIT_REF_SLUG}
  paths:
    - node_modules/
    - .npm/

key सुनिश्चित करता है कि अलग-अलग ब्रांच के अलग कैश हों।

2. अपने टेस्ट को पैरेलल करें

अपनी टेस्ट सूट को कई जॉब्स में बाँटें:

test:
  parallel: 4
  script:
    - npm run test -- --shard=$CI_NODE_INDEX/$CI_NODE_TOTAL

यह टेस्ट टाइम को 20 मिनट से 5 मिनट तक कम कर सकता है।

3. only/except की जगह rules: का उपयोग करें

नया rules: सिंटैक्स अधिक शक्तिशाली और पढ़ने योग्य है:

deploy:
  rules:
    - if: $CI_COMMIT_BRANCH == "main"
      when: on_success
    - when: never

4. Docker इमेज को ऑप्टिमाइज़ करें

छोटी बेस इमेज और मल्टी-स्टेज बिल्ड का उपयोग करें। Alpine-आधारित इमेज Ubuntu-आधारित की तुलना में 10x छोटी हो सकती हैं।

5. जल्दी फेल करें

क्विक चेक्स (लिंटिंग, फॉर्मेटिंग) को पाइपलाइन की शुरुआत में रखें। अगर कोड कंपाइल भी नहीं होता तो 20 मिनट की टेस्ट सूट चलाने का कोई मतलब नहीं।


आपकी पसंदीदा CI/CD ऑप्टिमाइज़ेशन क्या हैं? हमें उनके बारे में सुनना अच्छा लगेगा।