Middle
Kako vršite deployment aplikacija?
sobes.tech АИ
Одговор од АИ
Proces implementacije zavisi od veličine projekta i korišćene infrastrukture, ali uopšteno pratim sledeće korake:
- Izgradnja projekta: Koristim bundlere poput Webpack, Rollup ili Vite za transpajliranje koda, minifikaciju i optimizaciju resursa.
- Testiranje: Sprovodim automatizovane testove (jedinične, integracione, end-to-end) da proverim funkcionalnost.
- Verzionisanje: Kreiram git tag ili commit za fiksiranje verzije izdanja.
- Deployment na staging (opciono): Deployment na test server za finalnu proveru od strane tima.
- Deployment na produkciju:
- Učitavam izgrađene fajlove na web server (Nginx, Apache) ili CDN.
- Ažuriram konfiguracione fajlove (ako je potrebno).
- Primenu migracija (ako je primenjivo za backend).
- Restartujem web server ili servis.
- Provera nakon deploy-a: Proveravam funkcionalnost u produkcionom okruženju, nadgledam metrike.
Koristim CI/CD alate (GitHub Actions, GitLab CI, Jenkins) za automatizaciju većine ovih koraka, što obezbeđuje konzistentnost i smanjuje verovatnoću grešaka.
Primer jednostavnog CI/CD pipeline-a za deployment na statički hosting:
# .github/workflows/deploy.yml
name: Deploy na GitHub Pages
on:
push:
branches:
- main # Trigger pri push-u na branch main
jobs:
build-and-deploy:
runs-on: ubuntu-latest # Operativni sistem
steps:
- name: Preuzimanje koda
uses: actions/checkout@v2 # Preuzimanje koda iz repozitorijuma
- name: Podešavanje Node.js
uses: actions/setup-node@v2 # Konfiguracija Node.js
with:
node-version: '16' # Konkretna verzija Node.js
- name: Instalacija zavisnosti
run: npm ci # Instalacija zavisnosti
- name: Izgradnja projekta
run: npm run build # Pokretanje build skripte iz package.json
- name: Deploy na GitHub Pages
uses: peaceiris/actions-gh-pages@v3 # Akcija za deploy na GitHub Pages
with:
github_token: ${{ secrets.GITHUB_TOKEN }} # Token za pristup
publish_dir: ./dist # Folder sa izgrađenim projektom (zavisi od konfiguracije bundlera)