🚀 एक GitHub Repo से 2 Vercel Accounts पर Website Automatically Deploy कैसे करें?
मान लीजिए आपकी एक Private GitHub Repository है और उसी Codebase से आपको दो अलग-अलग Vercel Accounts पर Website चलानी है।
एक Account आपकी main website के लिए है और दूसरा किसी client, testing environment या दूसरे project के लिए।
सामान्य तरीके में आपको दोनों Vercel Accounts को अलग-अलग manage करना पड़ सकता है। लेकिन GitHub Actions + Vercel Tokenकी मदद से पूरा deployment process automate किया जा सकता है।
इसके बाद workflow काफी simple हो जाता है:
Code Change ↓ git push ↓ GitHub Actions ↓ Vercel Account A ↓ Vercel Account Bयानी आपको हर बार manually Vercel Dashboard खोलकर deployment शुरू करने की जरूरत नहीं पड़ती।
🔑 Vercel Token आखिर क्या करता है?
Vercel Token एक authentication credential है जिसकी मदद से GitHub Actions आपकी ओर से Vercel CLI को authorize कर सकता है।
मान लीजिए आपके पास दो Accounts हैं:
- Account A
- Account B
तो दोनों Accounts के लिए अलग Token बनाया जा सकता है।
उदाहरण:
VERCEL_TOKEN_A VERCEL_TOKEN_BGitHub Actions इन दोनों Secrets का इस्तेमाल करके संबंधित Vercel deployment शुरू कर सकता है।
⚠️ ध्यान दें: Token को कभी भी सीधे source code, README.md या public configuration file में न लिखें। इसे GitHub Repository Secret के रूप में store करना चाहिए।
🛠️ Step 1: दोनों Vercel Accounts के Tokens बनाएं
सबसे पहले Vercel Account A में login करें।
फिर:
Account Settings → Tokens → Create Token
Token का नाम रख सकते हैं:
TOKEN_ACCOUNT_AToken generate होने के बाद उसे सुरक्षित रखें।
इसके बाद यही process Account B के लिए दोहराएँ:
TOKEN_ACCOUNT_Bअब आपके पास दो अलग authentication tokens हैं।
🔐 Step 2: GitHub Secrets में Tokens Store करें
अब अपनी Private GitHub Repository खोलें।
जाएँ:
Settings → Secrets and variables → Actions
इसके बाद New repository secret चुनें।
पहला Secret:
Name: VERCEL_TOKEN_A Value: Account A का Tokenदूसरा:
Name: VERCEL_TOKEN_B Value: Account B का Tokenअब GitHub आपके workflow को इन Tokens तक securely access दे सकता है, जबकि actual Token code में दिखाई नहीं देगा।
⚙️ Step 3: GitHub Actions Workflow बनाएं
अब अपने project में यह file बनाएं:
.github/workflows/deploy.ymlइस workflow का basic structure कुछ ऐसा हो सकता है:
name: Multi-Vercel Deployment on: push: branches: - main jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Deploy to Vercel Account A run: npx vercel --token=${{ secrets.VERCEL_TOKEN_A }} --prod --yes - name: Deploy to Vercel Account B run: npx vercel --token=${{ secrets.VERCEL_TOKEN_B }} --prod --yesयहाँ दो महत्वपूर्ण चीजें हो रही हैं।
पहला deployment Account A के Token से होता है।
दूसरा deployment Account B के Token से होता है।
🚀 Step 4: अब सिर्फ Git Push करें
अब जब भी आप अपने local computer से:
git add . git commit -m "Update website" git push origin mainकरेंगे, GitHub Actions automatically trigger हो जाएगा।
Workflow पहले Account A पर deployment करेगा और फिर Account B पर।
आपको manually दोनों Vercel Dashboards में जाकर Deploy दबाने की जरूरत नहीं होगी।
📊 पूरा Deployment Flow
Developer │ │ git push ▼ GitHub Repository │ ▼ GitHub Actions │ ├───────────────┐ ▼ ▼ Vercel Account A Vercel Account B │ │ ▼ ▼ Website A Website Bयही असल में CI/CD automation का फायदा है।
एक बार workflow सही तरीके से configure हो जाए, उसके बाद deployment आपके Git workflow का हिस्सा बन जाता है।
💡 लेकिन एक Important बात है
सिर्फ़ दो Tokens डाल देने से हर project में deployment automatically सही destination पर जाएगा, ऐसा जरूरी नहीं है।
Vercel में Project और Team/Account Scope भी महत्वपूर्ण होते हैं।
अगर दोनों Accounts में अलग-अलग Vercel Projects हैं, तो deployment को सही project और scope से associate करना जरूरी हो सकता है।
इसके लिए Vercel CLI configuration, project linking या संबंधित scope/project settings का उपयोग करना पड़ सकता है।
यानी architecture कुछ ऐसा होना चाहिए:
GitHub Repository │ ├──→ Vercel Project A │ └── Account A │ └──→ Vercel Project B └── Account Bयह खास तौर पर तब महत्वपूर्ण है जब दोनों deployments में अलग-अलग Environment Variables या domains भी इस्तेमाल हो रहे हों।
🔒 Security के लिए ये गलतियाँ न करें
Vercel Token को password की तरह treat करें।
❌ Token को code में hard-code न करें।
❌ GitHub Repository में .env commit न करें।
❌ Token को README या documentation में न रखें।
❌ Screenshots में Token expose न करें।
✅ GitHub Actions Secrets का इस्तेमाल करें।
अगर कभी Token accidentally leak हो जाए, तो उसे तुरंत revoke करके नया Token generate करें।
🎯 यह Setup किन लोगों के लिए Useful है?
यह architecture खास तौर पर useful हो सकता है अगर:
- एक website को दो Vercel Accounts पर maintain करना है
- Client और personal deployment अलग रखना है
- Production और दूसरे independent deployment को automate करना है
- एक Private GitHub Repository से multiple deployments चाहिए
- Agency कई Vercel environments manage करती है
⚡ Quick Summary
| Requirement | Solution |
|---|---|
| Private Source Code | GitHub Repository |
| Automated Workflow | GitHub Actions |
| Vercel Authentication | Vercel Token |
| Account A Deployment | VERCEL_TOKEN_A |
| Account B Deployment | VERCEL_TOKEN_B |
| Trigger | git push |
| Hosting | Vercel |
✅ निष्कर्ष
एक ही GitHub Repository से multiple Vercel deployments manage करना मुश्किल नहीं है, लेकिन इसे manually करने के बजाय GitHub Actions के साथ automate करना ज्यादा efficient तरीका है।
Basic idea बहुत simple है:
GitHub Code → GitHub Actions → Vercel Account A + Vercel Account B
हर Account के लिए अलग Vercel Token रखें, उन्हें GitHub Secrets में सुरक्षित रखें और workflow को main branch के push event से trigger करें।
एक बार यह setup सही तरीके से तैयार हो जाए, तो आपका सामान्य git push ही deployment process शुरू कर सकता है।
यही CI/CD की असली ताकत है—आप code पर काम करते हैं, बाकी deployment pipeline खुद संभाल लेती है।


