Rimosso override esplicito porta HTTP in Program.cs: ora la porta è gestita solo da ASPNETCORE_URLS (default 8080), risolvendo il bug che impediva l’accesso web al container. Aggiornati Dockerfile, docker-compose.yml e documentazione per riflettere la nuova configurazione. Versione incrementata a 1.1.1 (PATCH). HTTPS resta disabilitato di default; configurazione centralizzata e override semplice via env. Aggiunti changelog, troubleshooting e script bump-version aggiornato.
7.1 KiB
?? SISTEMA VERSIONAMENTO IMPLEMENTATO
? Versione Corrente: 1.1.0
Data: 2025-01-18
Tipo: MINOR (nuove feature + bug fix)
Modifiche: Docker/Gitea Publishing Workflow + HTTPS Fix
?? File Creati/Aggiornati
Nuovi File
-
CHANGELOG.md- Storico completo modifiche
- Formato Keep a Changelog
- Documentazione v1.1.0 completa
-
VERSIONING.md- Guida sistema versionamento
- Workflow di rilascio
- Esempi pratici
- Automazione
-
bump-version.ps1- Script PowerShell automatico
- Incrementa MAJOR/MINOR/PATCH
- Aggiorna tutti i file coinvolti
- Genera template CHANGELOG
File Aggiornati
-
AutoBidder.csproj<!-- v1.1.0: Docker/Gitea publishing workflow + HTTPS fix --> <Version>1.1.0</Version> <AssemblyVersion>1.1.0.0</AssemblyVersion> <FileVersion>1.1.0.0</FileVersion> <InformationalVersion>1.1.0</InformationalVersion> -
DockerfileLABEL org.opencontainers.image.version="1.1.0"
?? Come Usare il Sistema
Metodo 1: Script Automatico (CONSIGLIATO)
# Bug fix (1.1.0 ? 1.1.1)
.\bump-version.ps1 -Type patch
# Nuova feature (1.1.0 ? 1.2.0)
.\bump-version.ps1 -Type minor
# Breaking change (1.1.0 ? 2.0.0)
.\bump-version.ps1 -Type major
Lo script fa automaticamente:
- ? Incrementa versione in
AutoBidder.csproj - ? Aggiorna
Dockerfilelabels - ? Aggiunge template in
CHANGELOG.md - ? Mostra prossimi passi
Metodo 2: Manuale
-
Modifica
AutoBidder.csproj:<Version>1.2.0</Version> -
Modifica
Dockerfile:LABEL org.opencontainers.image.version="1.2.0" -
Aggiorna
CHANGELOG.md:## [1.2.0] - 2025-01-19 ### ? Aggiunte - Nuova feature X -
Pubblica:
dotnet publish /p:PublishProfile=GiteaRegistry
?? Workflow Completo di Rilascio
Step 1: Incrementa Versione
.\bump-version.ps1 -Type minor
Step 2: Compila CHANGELOG
Apri CHANGELOG.md e completa il template:
## [1.2.0] - 2025-01-19
### ? Aggiunte
- Feature notifiche email per aste vinte
- Configurazione SMTP in Settings
### ?? Modifiche
- Migliorato algoritmo calcolo statistiche
### ?? Correzioni
- Fix bug crash su asta annullata
Step 3: Commit Modifiche
git add AutoBidder.csproj Dockerfile CHANGELOG.md
git commit -m "chore: bump version to v1.2.0
- Feature notifiche email
- Fix bug crash asta annullata"
Step 4: Tag Git
git tag v1.2.0
git push origin docker --tags
Step 5: Pubblica Docker su Gitea
Da Visual Studio:
- Tasto destro ? Pubblica ? GiteaRegistry
Da CLI:
dotnet publish /p:PublishProfile=GiteaRegistry
Step 6: Verifica Pubblicazione
# Controlla su Gitea
https://gitea.encke-hake.ts.net/Alby96/-/packages/container/autobidder
# Verifica tag creati
docker pull gitea.encke-hake.ts.net/alby96/autobidder:latest
docker pull gitea.encke-hake.ts.net/alby96/autobidder:1.2.0
?? Semantic Versioning
| Versione | Tipo | Quando Usare | Esempio |
|---|---|---|---|
| 1.0.0 ? 2.0.0 | MAJOR | Breaking changes | API cambiata, porta diversa |
| 1.0.0 ? 1.1.0 | MINOR | Nuove feature | Notifiche email, esportazione dati |
| 1.0.0 ? 1.0.1 | PATCH | Bug fix | Fix crash, correzione calcoli |
Esempi Pratici
Bug Fix (PATCH):
.\bump-version.ps1 -Type patch
# 1.1.0 ? 1.1.1
Nuova Feature (MINOR):
.\bump-version.ps1 -Type minor
# 1.1.1 ? 1.2.0
Breaking Change (MAJOR):
.\bump-version.ps1 -Type major
# 1.2.0 ? 2.0.0
?? Tag Docker Generati
Dopo Pubblicazione v1.1.0
# Tag su Gitea
gitea.encke-hake.ts.net/alby96/autobidder:latest ? v1.1.0
gitea.encke-hake.ts.net/alby96/autobidder:1.1.0 ? immutabile
gitea.encke-hake.ts.net/alby96/autobidder:1.0.0 ? ancora disponibile
Production Best Practice
? NON USARE latest in production:
# ERRATO
image: gitea.../autobidder:latest
? USA versione specifica:
# CORRETTO
image: gitea.../autobidder:1.1.0
Motivo: latest cambia ad ogni release, versione specifica è immutabile.
?? Gestione Hotfix
Scenario: Bug critico in production
Production usa: v1.1.0
Development è a: v1.2.0-dev
Workflow:
-
Crea branch hotfix:
git checkout -b hotfix/1.1.1 v1.1.0 -
Applica fix:
# Fix bug .\bump-version.ps1 -Type patch # 1.1.0 ? 1.1.1 -
Pubblica hotfix:
git commit -m "fix: critical bug in auction monitoring" git tag v1.1.1 git push origin hotfix/1.1.1 --tags dotnet publish /p:PublishProfile=GiteaRegistry -
Merge in main:
git checkout docker git merge hotfix/1.1.1 -
Aggiorna development:
# Se necessario, cherry-pick il fix in v1.2.0-dev git cherry-pick <commit-hash>
?? Dashboard Versioni
Versioni Attive
| Versione | Stato | Tag Docker | Ambiente |
|---|---|---|---|
1.1.0 |
? Latest | latest, 1.1.0 |
Production |
1.0.0 |
?? Deprecated | 1.0.0 |
Legacy |
Roadmap
| Versione | Tipo | Piano | Data Target |
|---|---|---|---|
1.2.0 |
MINOR | Notifiche email | Feb 2025 |
1.3.0 |
MINOR | API REST | Mar 2025 |
2.0.0 |
MAJOR | Refactor architettura | Q2 2025 |
? Checklist Release
Prima di ogni release:
- Versione incrementata in
AutoBidder.csproj - Versione aggiornata in
Dockerfile - CHANGELOG.md compilato con modifiche
- Build locale testata
- Container Docker testato localmente
- Pubblicazione Gitea completata
- Tag Git creato (
v1.1.0) - Documentazione aggiornata (se necessario)
- Migration guide scritta (per breaking changes)
- Communication team/utenti (se applicabile)
Dopo la release:
- Verifica immagine su Gitea
- Test pull e deploy
- Monitoraggio errori prime 24h
- Aggiornamento deployment production
?? Benefici del Sistema
Prima (senza versioning)
- ? Versioni non tracciate
- ? Modifiche non documentate
- ? Impossibile rollback a versione specifica
- ? Difficile capire cosa è cambiato
Dopo (con versioning)
- ? Ogni modifica tracciata con versione
- ? CHANGELOG completo e leggibile
- ? Rollback facile (
docker pull .../:1.0.0) - ? Deploy controllati e verificabili
- ? Automazione con script PowerShell
- ? Tag Docker immutabili per production
?? Documenti di Riferimento
| File | Scopo |
|---|---|
CHANGELOG.md |
Storico modifiche per utenti |
VERSIONING.md |
Guida sistema per sviluppatori |
bump-version.ps1 |
Automazione incremento versione |
AutoBidder.csproj |
Fonte unica della verità (versione) |
Dockerfile |
Metadata versione immagine |
?? Versione attuale: 1.1.0 - Docker/Gitea Publishing Workflow
? Sistema di versionamento completamente implementato e operativo!