GH GambleHub

DevOps अभ्यास और CI/CD

1) लक्ष्य और सिद्धांत

तेज और सुरक्षित: छोटे चक्र, परिवर्तन के छोटे बैच, स्वचालित जांच।

दोहराव: बुनियादी ढांचा कोड (IaC), पर्यावरण = कोड + नीति के रूप में।

अवलोकन: मैट्रिक्स/ट्रेल्स/बॉक्स से बाहर लॉग, एक अनुबंध के रूप में एसएलओ।

अनुपालन: ऑडिट, नियंत्रण बदलें, क्षेत्रीय डेटा अलगाव।

सुनहरा नियम: "पहले गुणवत्ता, फिर गति - अन्यथा गति कभी प्रकट नहीं होगी।"

2) शाखाएँ और वातावरण

ट्रंक-आधारित + फीचर फ्लैग्स - मूल चयन।

लघु सुविधा लाइनें (≤ 2-5 दिन), दैनिक ट्रंक में विलय।

वृद्धिशील वितरण और सुरक्षित रोलबैक के लिए सर्वर-साइड झंडे।

गिट वातावरण: 'देव' → 'स्टेज' → 'प्रोड' (+ क्षेत्रीय 'प्रोड-ईयू', 'प्रॉड-लैटम')।

कलाकृतियों का संवर्धन: एक एकत्रित छवि को मीडिया के माध्यम से बढ़ावा दिया जाता है (पाचन द्वारा अपरिवर्तनीय टैग)।

जब GitFlow: नियामक विधानसभाओं/SDK की दुर्लभ रिलीज़ - फिर शाखाएँ + "सख्त" जारी करती हैं।

3) गुणवत्ता का पिरामिड और "लाल रेखा"

1. स्थिर विश्लेषण (SAST, लिंटर्स, लाइसेंस)।

2. इकाई/संपत्ति-आधारित परीक्षण (सेकंड)।

3. एपीआई और घटनाओं के लिए अनुबंध-परीक्षण (सीडीसी) (OpenAPI/AsyncAPI, स्कीमा रजिस्ट्री)।

4. एकीकरण (परीक्षक, स्थानीय दलाल)।

5. E2E महत्वपूर्ण रास्ते: पंजीकरण → KYC → जमा → गेम लॉन्च → आउटपुट।

6. भुगतान/बटुआ/खेल प्रदाताओं के लिए लोड/अराजकता परीक्षण।

गुणवत्ता पास नहीं होती है - जमा अवरुद्ध है। परिवर्तन-रिकॉर्ड के बिना कोई "मैनुअल अपवाद" नहीं हैं।

4) आपूर्ति श्रृंखला

प्रत्येक छवि/पैकेज (CycloneDX/SPDX) के लिए SBOM।

Artifact हस्ताक्षर (cosign), प्रवेश में केवल "नीति पर हस्ताक्षर"।

SCA/Dependabot: कमजोरियां और लाइसेंस।

प्रोवेंस/एसएलएसए: प्रजनन योग्य विधानसभाएं, बंद बिल्ड एजेंट, सत्यापन।

राज: प्रबंधक (केएमएस/बाहरी रहस्य) में, रेपो/लॉग में एक भी रहस्य नहीं है।

5) GitOps и IaC

कोड के रूप में इंफ्रा: क्लाउड के लिए टेराफॉर्म/पुलुमी; k8s के लिए हेल्म/Kustomize।

GitOps नियंत्रक (ArgoCD/Flux): घोषणात्मक घोषणापत्र, पीआर समीक्षा, ऑडिट ट्रेल।

विंडोज/फ्रीज: टूर्नामेंट सप्ताह/पीक आवर्स - उत्पादन रिलीज का ऑटो-ठहराव।

OPA/Kyverno नीतियां: नवीनतम ', गैर-रूट, रीड-ओनली FS, hostPath अस्वीकृत।

6) प्रगतिशील वितरण

कैनरी: रेलिंग मेट्रिक्स पर 1→5→10→25→50→100% (p95 विलंबता, 5xx, त्रुटि बजट बर्न)।

ब्लू-ग्रीन: फास्ट स्विच + रोलबैक प्लान।

छाया/मिररिंग: प्रतिक्रिया को प्रभावित किए बिना अनुरोधों की प्रतिलिपि (नए पीएसपी एडेप्टर के लिए)।

फ्लैग्स: खंड (क्षेत्र/भूमिका/पार्टनर/चैनल) + किल-स्विच द्वारा समावेश।

7) डेटाबेस पलायन (विस्तार और अनुबंध)

चरण 1: योजना का विस्तार करें (नए कॉलम/इंडेक्स) - पुराने कोड के साथ संगत।

चरण 2: डंप कोड जो दोनों संस्करणों/क्षेत्रों को लिखता है।

चरण 3: पृष्ठभूमि जॉबा डेटा माइग्रेशन, प्रगति मैट्रिक्स।

चरण 4: नए क्षेत्रों में पढ़ ने के लिए स्विच करें।

चरण 5: पुराने को हटाना एक अलग रिलीज है।

प्राइम टाइम में डीडीएल प्रतिबंध को अवरुद्ध करना; उच्च तालिकाओं के लिए - ऑनलाइन प्रवास।

8) अवलोकन और एसएलओ

मेट्रिक्स: आरपीएस, पी 50/95/99, 4xx/5xx, संतृप्ति (सीपीयू/मेम/कतार), डीएलक्यू/ब्रोकर लैग।

बिजनेस मैट्रिक्स: TTP (टाइम-टू-प्ले), TtW (टाइम-टू-वॉलेट), FTD-सफलता, KYC-TtV।

ट्रेस: गेटवे से डेटाबेस तक ट्रेस-आईडी।

SLO: उदाहरण के लिए, 'जमा p95 ≤ 300-500 ms', 'सफलता ≥ 98। 5% ',' उपलब्धता ≥ 99। 9%`.

गिरावट के दौरान बर्न रेट अलर्ट + ऑटो-पॉज़रिलीज़।

9) घटनाएं, पोस्टमार्टम, शिफ्ट

महत्वपूर्ण धाराओं पर रनबुक (जमा/आउटपुट/एसीसी, लाइव गेम)।

प्राथमिकता स्केल: P1...P4, मालिक, ईटीए, संचार (बैनर, स्थिति पृष्ठ, भागीदार)।

एक्शन आइटम और तारीखों के साथ ब्लैमलेस पोस्टमॉर्टम।

कॉल पर वैकल्पिक, चैट अलर्ट, स्थिति हर एन मिनट अपडेट करती है।

डॉक ट्रेल: कौन/कब/क्या पोस्ट किया गया (प्रतिबद्ध, कलाकृतियां, पर्यावरण, ध्वज)।

10) सुरक्षा और अनुपालन (DevSecOps)

SAST/DAST/IAST, CI में गुप्त स्कैन।

mTLS servis↔servis, छोटे TTL के साथ JWT, कुंजी रोटेशन।

लॉग/ट्रैक में मास्किंग पीआईआई/पैन; WORM व्यवस्थापक गतिविधि लॉग।

भू-अलगाव: क्षेत्र द्वारा समूह/डेटाबेस, गेटवे मार्ग।

परिवर्तन प्रबंधन: संवेदनशील क्षेत्रों के लिए टिकट/अनुमोदन (बटुआ

11) डोरा मैट्रिक्स और फिनोप्स

तैनाती आवृत्ति (दैनिक छोटी रिलीज)।

परिवर्तन के लिए लीड टाइम (आदर्श: घड़ी)।

MTTR (वसूली: मिनट/घंटे)।

असफलता दर बदलें (लक्ष्य ≤ 15%)।

FinOps: वातावरण की लागत, RPS कैशिंग, गर्म पूल, श्रमिकों का ऑटो-ठहराव, "प्रति लेनदेन लागत।"

12) iGaming विशिष्टता

चोटियों (टूर्नामेंट/लाइव): प्रमुख परिवर्तनों को ठंड, कैश/छवियों को गर्म करना, कोटा बूस्ट।

भुगतान/पर्स: व्यक्तिगत पूल/नोड्स, एलिवेटेड एसएलओ, क्षेत्र द्वारा कैनरी रोलआउट, पीएसपी प्रदाताओं द्वारा दोहरी टेलीमेट्री।

सीसी/अनुपालन: रिलीज की अलग ताल, अनुपालन के अनिवार्य पोस्ट-अपडेट।

भागीदार/सहयोगी: पुराने ग्राहकों की सहायता विंडो और निगरानी के साथ सुरक्षित एसडीके, एपीआई संस्करण।

13) उदाहरण CI/CD (YAML, GitHub क्रियाएं → ArgoCD)

yaml name: ci-cd on:
push:
branches: [ main ]
paths: [ "services/wallet/" ]
jobs:
build_test_scan:
runs-on: ubuntu-latest steps:
- uses: actions/checkout@v4
- name: Setup Node uses: actions/setup-node@v4 with: { node-version: 22 }
- run: npm ci --omit=dev working-directory: services/wallet
- run: npm test -- --ci working-directory: services/wallet
- name: Lint & SAST run: npm run lint && npm run sast working-directory: services/wallet
- name: Build image run:
docker build -t registry. local/wallet:${{ github. sha }} -f Dockerfile.
cosign sign --key $COSIGN_KEY registry. local/wallet:${{ github. sha }}
- name: SBOM & Scan run:
syft packages registry. local/wallet:${{ github. sha }} -o cyclonedx-json > sbom. json trivy image --exit-code 1 --severity HIGH,CRITICAL registry. local/wallet:${{ github. sha }}
- name: Push image run: docker push registry. local/wallet:${{ github. sha }}

deploy_stage:
needs: build_test_scan runs-on: ubuntu-latest steps:
- uses: actions/checkout@v4
- name: Bump Helm values (image tag)
run: yq -i '.image. tag = "${{ github. sha }}"' helm/wallet/values-stage. yaml
- name: Create PR to gitops repo run: gh pr create -R org/gitops -B stage -H stage-bump/wallet-${{ github. sha }} -t "wallet:${{ github. sha }}" -b "Promote to stage"

promote_prod:
if: github. ref == 'refs/heads/main'
needs: deploy_stage runs-on: ubuntu-latest steps:
- name: Gate: SLO/quality checks run:./scripts/gates/check_stage_health. sh # p95, 5xx, e2e ok
- name: Canary 10%
run:./scripts/gitops/canary. sh wallet ${{ github. sha }} 10
- name: Auto-pause on degradation run:./scripts/gates/guardrails. sh./scripts/gitops/rollback. sh wallet
- name: Roll to 100%
run:./scripts/gitops/rollout. sh wallet ${{ github. sha }} 100
💡 विचार: एकल छवि एकत्र करना और हस्ताक्षर करना, SBOM प्रकाशित करना, GitOps के माध्यम से बढ़ावा देना; प्रोड-रोलआउट - कैनरी, रेलिंग के साथ।

14) चेकलिस्ट

मुख्य में विलय करने से पहले

  • यूनिट/सीडीसी/एकीकरण हरा।
  • लिंटर्स/SAST/लाइसेंस साफ हैं।
  • अद्यतन OpenAPI/AsyncAPI स्कीमा और डेटाबेस माइग्रेशन।
  • Fiche झंडे जोड़े गए, फॉलबैक परिभाषित।

प्रोड में रिलीज से पहले

  • छवि पर हस्ताक्षर किए गए, SBOM संलग्न, HIGH/CRIT कमजोरियां बंद हो गईं।
  • डैशबोर्ड/अलर्ट बनाए गए; एसएलओ गेट जुड़े हुए हैं।
  • रोलबैक योजना, किल-स्विच, छाया (यदि आवश्यक हो)।
  • क्षेत्रीय प्रतिबंध और डेटा नीति की पुष्टि की।

घटनाएँ

  • रनबुक मिला और आज तक।
  • उपयोगकर्ताओं/भागीदारों के लिए संचार (टेम्पलेट, ईटीए)।
  • 48 घंटे पर पोस्टमॉर्टम, तारीखों के साथ एक्शन आइटम।

15) एंटी-पैटर्न

"हर वातावरण के लिए पुनर्संयोजन" (कोई कलाकृति पदोन्नति नहीं)।

बिना लेखा परीक्षा/पुनरावृत्ति के चरण तैनात करना।

डेटाबेस माइग्रेशन "हेड-ऑन", असंगत एपीआई प्रतिक्रियाएं।

सीआई चर में या भंडार में रहस्य।

ध्वज/रोलबैक के बिना भयावह विशेषताएं।

कैनरी रिलीज पर SLO/रेलिंग की कमी।

PII/PAN के साथ लॉग, कोई मास्किंग नहीं।

16) उपयोगी माइक्रोकोपी टेम्पलेट

रिलीज (भागीदारों के लिए):
  • "हम चरणों (%) में भुगतान मॉड्यूल के अपडेट को रोल आउट कर रहे हैं। 2 मिनट तक की अल्पकालिक नामांकन देरी संभव है। पूरा होने का ईटीए - रात 9 बजे। ईईटी"
हादसा (उत्पाद में बैनर):
  • "भुगतान प्रदाता एक्स अस्थिर है। नामांकन में 15 मिनट तक का समय लग सकता है। हम एक फिक्स पर काम कर रहे हैं। अगला स्थिति अपडेट 30 मिनट में है"
रोलबैक:
  • "बढ़ती देरी के कारण अपडेट होल्ड पर है। हम पिछला संस्करण वापस करते हैं। डेटा और संचालन सहेजे गए हैं"

17) कार्यान्वयन प्रक्रिया (4 स्प्रिंट)

1. गुणवत्ता मानक और पाइपलाइन: SAST/इकाई/CDC, एकल छवि, हस्ताक्षर, SBOM।

2. GitOps + वातावरण: हेल्म/Kustomize, ArgoCD, कलाकृतियों का प्रचार, गुप्त नीति।

3. प्रगतिशील रिलीज और एसएलओ गेट: कैनरी/छाया, रेलिंग, ऑटो-हब।

4. विश्वसनीयता और लागत: अराजकता परीक्षण, ऑटोस्केल/गर्म पूल, फिनोप्स डैशबोर्ड।

अंतिम धोखा पत्र

ट्रंक + झंडे + छोटे बैच = तनाव-मुक्त गति।

एकल हस्ताक्षरित कलाकृतियाँ + SBOM = नियंत्रित आपूर्ति श्रृंखला।

GitOps + नीतियां = प्रजनन और ऑडिटिंग।

कैनरी/ब्लू-ग्रीन + एसएलओ गेट = सुरक्षित रिलीज।

DB = शून्य डाउनटाइम के लिए विस्तार और अनुबंध।

अवलोकन और DORA = प्रबंधनीय सुधार।

क्षेत्रीय अलगाव और अनुपालन = कानूनों और विश्वास का अनुपालन।

Contact

हमसे संपर्क करें

किसी भी प्रश्न या सहायता के लिए हमसे संपर्क करें।हम हमेशा मदद के लिए तैयार हैं!

इंटीग्रेशन शुरू करें

Email — अनिवार्य है। Telegram या WhatsApp — वैकल्पिक हैं।

आपका नाम वैकल्पिक
Email वैकल्पिक
विषय वैकल्पिक
संदेश वैकल्पिक
Telegram वैकल्पिक
@
अगर आप Telegram डालते हैं — तो हम Email के साथ-साथ वहीं भी जवाब देंगे।
WhatsApp वैकल्पिक
फॉर्मैट: देश कोड और नंबर (उदा. +91XXXXXXXXXX)।

बटन दबाकर आप अपने डेटा की प्रोसेसिंग के लिए सहमति देते हैं।