GitHub Actions ilə Avtomatik Deploy — Pulsuz Hosting, Sıfır Stress
Hər git push əmrindən sonra saytın avtomatik deploy olsun, həm də pulsuz? GitHub Actions + GitHub Pages ilə bunu 10 dəqiqəyə qurursan.
Hər Dəfə FTP-yə Girməkdən Bezdinmi?
Bakıda bir dostum var — freelance işləyir, ayda 800-1000 AZN qazanır. Keçən həftə mənə zəng etdi: "Qardaş, hər dəfə müştəriyə sayt göstərmək üçün FileZilla açıb FTP-yə yükləyirəm, dəli oluram." Tanış gəlir, elə deyilmi?
Əgər sən də hər deployment-də əl ilə fayl yükləyirsənsə, build unutursan, yaxud "məndə işləyirdi" sindromunu yaşayırsan — bu məqalə sənin üçündür. Bu gün GitHub Actions ilə tam avtomatik CI/CD pipeline quracağıq. Üstəlik, hosting pulsuz olacaq.
GitHub Actions Nədir və Niyə Maraqlanmalısan?
GitHub Actions — GitHub-un daxili CI/CD (Continuous Integration / Continuous Deployment) platformasıdır. Sadə dillə desək: sən kod push edirsən, qalanını GitHub özü edir — build, test, deploy.
Rəqəmlərlə danışaq:
- Pulsuz hesabda ayda 2000 dəqiqə build vaxtı verilir (public repo-lar üçün limitsiz)
- GitHub Pages ilə birlikdə hosting də pulsuzdur — custom domain da dəstəkləyir
- Dünyada 100 milyondan çox repository artıq GitHub Actions istifadə edir
- Azərbaycanda Kapital Bank, ABB, PASHA Holding kimi şirkətlərin development komandaları CI/CD pipeline-lardan aktiv istifadə edir
Burda söhbət sadəcə portfolio saytdan getmir. Real production-da işləyən komandalar üçün bu, standartdır. İş müsahibəsində "CI/CD bilirsən?" sualına "GitHub Actions ilə pipeline qurmuşam" cavabı verməyin dəyəri tamam başqadır.
Praktiki Layihə: React Saytını Avtomatik Deploy Etmək
Gəlin addım-addım gedək. Fərz edək ki, React ilə portfolio saytın var və hər push-dan sonra avtomatik olaraq GitHub Pages-ə deploy olunmasını istəyirsən.
Addım 1: React Layihəni Hazırla
Əgər hələ yoxdursa:
bashnpx create-react-app my-portfolio cd my-portfolio git init git remote add origin https://github.com/USERNAME/my-portfolio.git
package.json faylına bu sətri əlavə et:
json{ "homepage": "https://USERNAME.github.io/my-portfolio" }
Addım 2: GitHub Actions Workflow Yarat
Layihənin kök qovluğunda bu strukturu yarat:
.github/
workflows/
deploy.yml
İndi əsas fayl — deploy.yml:
yamlname: Deploy to GitHub Pages on: push: branches: - main permissions: contents: read pages: write id-token: write jobs: build-and-deploy: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' cache: 'npm' - name: Install dependencies run: npm ci - name: Run tests run: npm test -- --passWithNoTests - name: Build run: npm run build - name: Setup Pages uses: actions/configure-pages@v4 - name: Upload artifact uses: actions/upload-pages-artifact@v3 with: path: './build' - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4
Bu 40 sətir YAML faylı sənin üçün bunları edir:
- Checkout — kodu çəkir
- Node.js quraşdırır — npm cache ilə (sürətli)
- Dependency-ləri yükləyir —
npm ciilə (clean install) - Testləri işlədir — bug-lar production-a düşməsin
- Build edir — optimized production build
- Deploy edir — GitHub Pages-ə avtomatik
Addım 3: GitHub Settings-dən Pages Aktiv Et
Repo → Settings → Pages → Source: GitHub Actions seç. Vəssalam.
Addım 4: Push Et və Sehri İzlə
bashgit add . git commit -m "feat: add CI/CD pipeline" git push origin main
İndi repo-nun Actions tabına keç. Görəcəksən ki, workflow işə düşüb. 1-2 dəqiqəyə yaşıl checkmark görəcəksən. Saytın artıq https://USERNAME.github.io/my-portfolio ünvanında canlıdır.
Workflow Necə İşləyir? Axış Diaqramı
Prosesi vizuallaşdıraq:
git push (main) → GitHub Actions trigger olur
↓
Checkout → Node.js Setup → npm ci
↓
npm test → npm run build
↓
Build uğurludursa → GitHub Pages-ə deploy
↓
Sayt 1-2 dəqiqəyə canlıdır ✓
Əgər test uğursuz olarsa, deploy baş tutmur. Bu, sənin sığortandır — production-a xarab kod düşmür.
Pulsuz Alternativlərlə Müqayisə
| Platforma | Pulsuz Limit | Custom Domain | CI/CD Daxili |
|---|---|---|---|
| GitHub Pages | Limitsiz (statik) | ✓ | ✓ (Actions) |
| Netlify | 100GB/ay bandwidth | ✓ | ✓ |
| Vercel | 100GB/ay bandwidth | ✓ | ✓ |
| Heroku | Artıq pulsuz deyil | ✓ | Xarici lazım |
GitHub Pages statik saytlar üçün idealdır — portfolio, blog, landing page, documentation. Əgər backend lazımdırsa, Vercel-in serverless functions-ına bax.
Azərbaycan Reallığında Bu Nə Deməkdir?
Bakıda Junior Developer maaşı 800-1200 AZN, Middle artıq 1500-2500 AZN civarındadır. Şirkətlər — istər PASHA, istər Kapital Bank tech komandası, istərsə də kiçik startuplar — CI/CD bilən developer axtarır.
CV-ndə "GitHub Actions ilə CI/CD pipeline qurmuşam" yazmaq sənə digər namizədlərdən fərq yaradır. Əksər junior developer-lər hələ FTP ilə deploy edirlər. Sən isə artıq professional workflow bilirsən.
Əlavə olaraq, freelance müştərilərə "hər dəyişiklik avtomatik yenilənir" demək — premium xidmət təsiri bağışlayır. Bunu əlavə xidmət kimi 50-100 AZN-ə sata bilərsən.
Növbəti Addımlar
Bu pipeline-ı qurduqdan sonra inkişaf etdirmək üçün:
- Environment secrets əlavə et (API key-lər üçün)
- Branch protection rules qur — main-ə birbaşa push olmasın, PR tələb olsun
- Slack/Telegram notification əlavə et — deploy olanda xəbər gəlsin
- Lighthouse CI inteqrasiya et — hər deploy-da performance score yoxlansın
Son Söz
GitHub Actions öyrənmək 2026-da developer üçün savadlılıq kimidir — onsuz da olar, amma onunla tamam başqa səviyyədə olursan. Bu məqalədəki pipeline-ı qurmaq sənə 10 dəqiqə vaxt aparacaq, amma hər gələcək deploy-da saat yarım qənaət edəcək.
Terminalı aç, deploy.yml faylını yarat və push et. Qalanını GitHub edir.
Sualın var? GitHub repo-nu comment-də paylaş, birlikdə debug edək. Baku Stack icması hər zaman yanındadır. 🚀
Oxşar məqalələr
Docker ilə Next.js App Deployment — Addım-Addım Bələdçi
Next.js layihəni Docker ilə containerləşdirib production-a çıxarmağın ən sadə və düzgün yolu — real kod nümunələri ilə.
Kubernetes başlanğıcı — nə vaxt lazım olur, nə vaxt yox?
Hər layihəyə Kubernetes lazım deyil. Gəl birlikdə baxaq: K8s nə vaxt həqiqətən işə yarayır, nə vaxt isə vaxt itkisidir.
Environment Variables Təhlükəsizliyi — Developer-lərin Buraxdığı Səhvlər
Hər il minlərlə API key GitHub-da açıq qalır. Azərbaycanlı developer-lər olaraq biz də bu səhvləri edirik — gəlin real nümunələrlə öyrənək və qorunaq.