ኮድ ጻፍ → GitHub ላይ push አድርግ → ራሱ ሙከራዎችን ያካሂዳል እና ራሱ ወደ ሰርቨር ያሰማራል!
እጅህን አታንሳ — ሁሉም ራሱ ይሰራል!
CI/CD ማለት Continuous Integration / Continuous Deployment ነው።
ኮድህን GitHub ላይ push በምታደርግ ቁጥር፣ ስርዓቱ ራሱ ሙከራዎችን ያካሂዳል፣ ኮዱን ይገነባል፣ እና በመጨረሻም ወደ ሰርቨር ያሰማራል። አንተ ምንም ተጨማሪ ስራ ሳትሰራ ሁሉም በራሱ ይከናወናል።
GitHub Actions ደግሞ GitHub የሚሰጠው ነጻ የ CI/CD መሳሪያ ነው።
Pipeline ማለት ከኮድ push ጀምሮ እስከ ሰርቨር ላይ መድረስ ያለው ሙሉ ራስ-ሰር ሂደት ነው። እያንዳንዱ ደረጃ ቀዳሚው ካለቀ በኋላ ብቻ ይቀጥላል። አንድ ቦታ ስህተት ቢፈጠር ሁሉም ይቆማል።
ሙሉ CI/CD Pipeline ሂደት፡
GitHub Actions ን ለመጠቀም፣ በፕሮጀክትህ ውስጥ .github/workflows/ ፎልደር ፍጠር። በዚያ ፎልደር ውስጥ .yml ፋይል ጻፍ። ይህ ፋይል ስርዓቱ ምን ማድረግ እንዳለበት በዝርዝር ይገልጻል።
GitHub Actions ቁልፍ ቃላት፡
# Workflow ስም name: CI/CD Pipeline # Trigger — ምን ሲሆን ይጀምር? on: push: branches: - main pull_request: branches: - main # Jobs jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '18' - name: Install dependencies run: npm ci - name: Run tests run: npm test - name: Build run: npm run build deploy: runs-on: ubuntu-latest needs: test if: github.ref == 'refs/heads/main' steps: - uses: actions/checkout@v4 - name: Deploy to Vercel uses: amondnet/vercel-action@v25 with: vercel-token: ${{ secrets.VERCEL_TOKEN }} vercel-org-id: ${{ secrets.ORG_ID }} vercel-project-id: ${{ secrets.PROJECT_ID }} vercel-args: '--prod'
🔐 Secrets — ሚስጥራዊ እሴቶች
${{ secrets.VERCEL_TOKEN }}
— እነዚህ GitHub Secrets ውስጥ የምታስቀምጣቸው ሚስጥራዊ መረጃዎች ናቸው (API keys፣ tokens)። በኮድ ውስጥ ቀጥታ አትጻፋቸው። GitHub → Settings → Secrets and variables → Actions ውስጥ አስቀምጣቸው!
GitHub Actions Simulator!
Push ወይም Pull Request simulate አድርግ — Pipeline ሙሉ ሂደት በቀጥታ ይሮጣል!
ምን trigger ማድረግ ትፈልጋለህ? Pipeline ን ጀምር!
git push ብቻ ታደርጋለህ — ሁሉም ራሱ ይሰራል! ጊዜ ይቆጥባል እና የሰው ስህተት ይቀንሳል።
በዚህ ፎልደር ውስጥ .yml ፋይሎችን አስቀምጥ። GitHub ያነባቸዋል።
on: push → push ሲሆን | on: pull_request → PR ሲፈጠር
needs: test = test ካለቀ በኋላ ብቻ deploy ይሂድ። Test fail ከሆነ deploy አይከናወንም።
API keys እና tokens — GitHub Secrets ውስጥ ያስቀምጡ! በኮድ ውስጥ ቀጥታ አትጻፉ።