Deployment (GitHub Pages, Vercel)
Programmering B · HTX · B-niveau · Praktisk projekt
💻 Deployment
Deployment = gøre din app tilgængelig på internettet.
Statiske sites (kun HTML/CSS/JS):
- GitHub Pages: gratis, push til GitHub → auto-deploy
```bash
git push origin main # → live på username.github.io/repo
```
- Netlify: gratis, drag-and-drop eller GitHub integration
Python-apps (Flask, FastAPI):
- PythonAnywhere (gratis tier): websocket, Flask, cron jobs
- Railway (gratis tier): Docker-baseret, PostgreSQL inkluderet
- Render (gratis tier): web services + databases
Node.js/JavaScript-apps:
- Vercel: specialiseret til Next.js og React, gratis
- Fly.io: Docker-baseret, global deployment
Miljøvariabler: kodeord og API-nøgler MÅ IKKE være i koden:
```python
import os
DB_URL = os.environ.get("DATABASE_URL") # fra serverens miljø
API_KEY = os.environ.get("OPENAI_API_KEY")
```
Procfile (Heroku/Render):
```
web: gunicorn app:app
```
requirements.txt:
```bash
pip freeze > requirements.txt # gem alle pakker
pip install -r requirements.txt # installer fra fil
```
Læringsmål
- Deploye et statisk site med GitHub Pages
- Deploye en Flask-app til PythonAnywhere eller Railway
- Konfigurere miljøvariabler sikkert på en cloud-platform
- Skrive korrekt requirements.txt og Procfile
Sådan kan du arbejde med emnet
- Forklar hvad det betyder at "deploye" et program eller en webside
- Beskriv trin for trin, hvordan man kunne lægge en simpel hjemmeside op på GitHub Pages
- Diskutér hvorfor det kan være nyttigt at have et live, offentligt link til sit projekt
Træningsforslag
- Deploy din portfolio-side med GitHub Pages
- Deploy en Flask-app til PythonAnywhere og del linket
- Sæt environment variables op og fjern alle hardcodede API-nøgler
Øv dette emne med AI — quizzer, forklaringer og feedback tilpasset dit niveau.
Prøv Fagportalen gratis