148 lines
3.5 KiB
Markdown
148 lines
3.5 KiB
Markdown
# ⏱️ Deployment-Zeit - Was ist normal?
|
|
|
|
## ⏱️ Typische Deployment-Zeiten
|
|
|
|
### Erster Build (kalt)
|
|
- **10-20 Minuten** (manchmal länger)
|
|
- Flutter SDK muss installiert werden (~2-3 Min)
|
|
- Dependencies herunterladen (~2-3 Min)
|
|
- Flutter Web Build (~5-10 Min)
|
|
- Docker Image bauen (~1-2 Min)
|
|
|
|
### Weitere Builds (mit Cache)
|
|
- **5-10 Minuten**
|
|
- Flutter SDK ist bereits da (Cache)
|
|
- Dependencies werden gecacht
|
|
- Nur Code-Änderungen werden neu gebaut
|
|
|
|
---
|
|
|
|
## 🐌 Warum dauert es so lange?
|
|
|
|
### 1. Flutter SDK Installation
|
|
```dockerfile
|
|
RUN git clone https://github.com/flutter/flutter.git -b stable /usr/local/flutter
|
|
```
|
|
- **Dauer:** ~2-3 Minuten
|
|
- **Beim ersten Build:** Muss komplett heruntergeladen werden
|
|
- **Bei weiteren Builds:** Wird gecacht (schneller)
|
|
|
|
### 2. Flutter Dependencies
|
|
```dockerfile
|
|
RUN flutter pub get
|
|
```
|
|
- **Dauer:** ~2-3 Minuten
|
|
- **Beim ersten Build:** Alle Packages müssen heruntergeladen werden
|
|
- **Bei weiteren Builds:** Werden gecacht
|
|
|
|
### 3. Flutter Web Build
|
|
```dockerfile
|
|
RUN flutter build web --release
|
|
```
|
|
- **Dauer:** ~5-10 Minuten
|
|
- **Das ist der langsamste Teil!**
|
|
- Flutter kompiliert Dart zu JavaScript
|
|
- Optimiert den Code
|
|
- Erstellt alle Assets
|
|
|
|
### 4. Docker Image Build
|
|
- **Dauer:** ~1-2 Minuten
|
|
- Kopiert die gebauten Dateien
|
|
- Erstellt das finale Image
|
|
|
|
---
|
|
|
|
## ⚡ Möglichkeiten zur Beschleunigung
|
|
|
|
### Option 1: Build-Cache optimieren (Coolify)
|
|
|
|
Coolify sollte automatisch Docker-Layer cachen. Falls nicht:
|
|
|
|
1. Gehe zu Application Settings
|
|
2. Suche nach **"Build Cache"** oder **"Docker Cache"**
|
|
3. Aktiviere **"Use Build Cache"**
|
|
|
|
### Option 2: Multi-Stage Build optimieren
|
|
|
|
Das Dockerfile ist bereits optimiert (Multi-Stage Build), aber wir könnten:
|
|
- Flutter SDK in einem separaten Image cachen
|
|
- Dependencies in einem separaten Layer cachen
|
|
|
|
### Option 3: Lokaler Build + Upload (schneller)
|
|
|
|
Falls du lokal baust und nur die `build/web` Dateien hochlädst:
|
|
|
|
```bash
|
|
# Lokal bauen (auf deinem Mac - schneller)
|
|
flutter build web --release
|
|
|
|
# Nur build/web zu Coolify kopieren
|
|
# Dann nginx Container verwenden
|
|
```
|
|
|
|
**Vorteil:** ~2-3 Minuten statt 10-20 Minuten
|
|
|
|
**Nachteil:** Du musst Flutter lokal installiert haben
|
|
|
|
---
|
|
|
|
## 📊 Was ist normal?
|
|
|
|
### ✅ Normal:
|
|
- **Erster Build:** 10-20 Minuten
|
|
- **Weitere Builds:** 5-10 Minuten
|
|
- **Bei Code-Änderungen:** 5-10 Minuten
|
|
|
|
### ⚠️ Zu langsam:
|
|
- **Erster Build:** >30 Minuten
|
|
- **Weitere Builds:** >15 Minuten
|
|
|
|
### 🚀 Sehr schnell:
|
|
- **Erster Build:** <10 Minuten (selten)
|
|
- **Weitere Builds:** <5 Minuten (mit perfektem Cache)
|
|
|
|
---
|
|
|
|
## 🔍 Deployment-Status prüfen
|
|
|
|
**In Coolify Dashboard:**
|
|
1. Gehe zu deiner Application
|
|
2. Klicke auf **"Logs"** oder **"Build Logs"**
|
|
3. Du siehst den aktuellen Fortschritt:
|
|
- "Installing dependencies..."
|
|
- "Building Flutter app..."
|
|
- "Creating Docker image..."
|
|
|
|
---
|
|
|
|
## 💡 Tipps
|
|
|
|
### 1. Geduld beim ersten Build
|
|
- Der erste Build dauert immer am längsten
|
|
- Weitere Builds sind schneller (Cache)
|
|
|
|
### 2. Logs beobachten
|
|
- Schaue in die Build-Logs
|
|
- Du siehst, wo es gerade hängt
|
|
|
|
### 3. Nicht zu oft deployen
|
|
- Deploye nur bei wichtigen Änderungen
|
|
- Nicht bei jedem kleinen Commit
|
|
|
|
### 4. Lokaler Build für Tests
|
|
- Teste lokal: `flutter run -d chrome`
|
|
- Deploye nur wenn alles funktioniert
|
|
|
|
---
|
|
|
|
## ✅ Zusammenfassung
|
|
|
|
**Typische Zeiten:**
|
|
- **Erster Build:** 10-20 Minuten ✅
|
|
- **Weitere Builds:** 5-10 Minuten ✅
|
|
|
|
**Das ist normal für Flutter Web Builds!** 🎯
|
|
|
|
Flutter Web Builds sind einfach langsam - das ist ein bekanntes Problem. Aber die App läuft dann schnell! 🚀
|
|
|