Middle
Uygulamaları nasıl dağıtıyorsunuz?
sobes.tech yapay zeka
AI'dan gelen yanıt
Yayın süreci, projenin ölçeğine ve kullanılan altyapıya bağlıdır, ancak genel olarak aşağıdaki adımları izlerim:
- Proje derleme: Webpack, Rollup veya Vite gibi paketleyiciler kullanarak kodu dönüştürürüm, minify ederim, kaynakları optimize ederim.
- Testler: Otomatik testler yaparım (birim, entegrasyon, uçtan uca) işlevselliği kontrol etmek için.
- Versiyonlama: Bir git etiketi veya commit oluşturarak sürümünü sabitlerim.
- Staging ortamına dağıtım (isteğe bağlı): Son kontrol için test sunucusuna dağıtım.
- Üretim ortamına dağıtım:
- Derlenmiş dosyaları web sunucusuna (Nginx, Apache) veya CDN'ye yükleme.
- Konfigürasyon dosyalarını güncelleme (gerekirse).
- Migrasyonları uygulama (backend için uygunsa).
- Web sunucusunu veya hizmeti yeniden başlatma.
- Yayın sonrası kontrol: Üretim ortamında işlevselliği kontrol ederim, metrikleri izlerim.
Çoğu adımı otomatikleştirmek için CI/CD araçları (GitHub Actions, GitLab CI, Jenkins) kullanıyorum, bu tutarlılığı sağlar ve hata olasılığını azaltır.
Statik barındırma için basit bir CI/CD boru hattı örneği:
# .github/workflows/deploy.yml
name: GitHub Pages'a Dağıtım
on:
push:
branches:
- main # main dalına push yapıldığında tetiklenir
jobs:
build-and-deploy:
runs-on: ubuntu-latest # Kullanılan işletim sistemi
steps:
- name: Kodu kontrol et
uses: actions/checkout@v2 # Depodan kodu al
- name: Node.js kur
uses: actions/setup-node@v2 # Node.js ayarla
with:
node-version: '16' # Belirli Node.js sürümü
- name: Bağımlılıkları yükle
run: npm ci # Bağımlılıkları yükle
- name: Projeyi derle
run: npm run build # package.json'dan derleme komutunu çalıştır
- name: GitHub Pages'a dağıt
uses: peaceiris/actions-gh-pages@v3 # GitHub Pages'a dağıtmak için eylem
with:
github_token: ${{ secrets.GITHUB_TOKEN }} # Erişim belirteci
publish_dir: ./dist # Derlenmiş proje klasörü (paketleyicinin yapılandırmasına bağlı)