# Créer une nouvelle version patch (défaut)
.\Create-Release.ps1
# Créer une nouvelle version minor (nouvelles fonctionnalités)
.\Create-Release.ps1 -VersionType minor
# Créer une nouvelle version major (ruptures majeures)
.\Create-Release.ps1 -VersionType major
Un seul script pour automatiser TOUT le processus de crĂ©ation dâune nouvelle version:
MAJOR.MINOR.PATCH
Exemples:
- patch: 0.12.0 â 0.12.1 (corrections de bugs)
- minor: 0.12.0 â 0.13.0 (nouvelles fonctionnalitĂ©s)
- major: 0.12.0 â 1.0.0 (ruptures majeures)
| Type | Cas dâusage | Exemple |
|---|---|---|
| patch | Corrections de bugs, optimisations | 0.12.0 â 0.12.1 |
| minor | Nouvelles fonctionnalitĂ©s rĂ©trocompatibles | 0.12.0 â 0.13.0 |
| major | Changements majeurs, breaking changes | 0.12.0 â 1.0.0 |
dotnet run --project CharacterManager
dotnet test
dotnet build
# Exemple: créer version 0.13.0 (minor)
.\Create-Release.ps1 -VersionType minor
publish/ - App publiée
publish/installer/ - Installateur compilé
.\publish\installer\CharacterManager-Setup.exe
git tag v0.13.0
git push --tags
AprÚs exécution réussie:
â
Version incrémentée
CharacterManager/appsettings.json: Version changée
â
Inno Setup synchronisé
CharacterManager.iss: Version mise Ă jour
â
Application publiée
publish/
âââ bin/
âââ wwwroot/
âââ ...
â
Installateur compilé
publish/installer/
âââ CharacterManager-Setup.exe (~150-200 MB)
# Vérifier les droits d'exécution
Get-ExecutionPolicy
# Autoriser si nécessaire
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
# Vérifier que Inno Setup est installé
ls "C:\Program Files (x86)\Inno Setup 6\"
# Relancer le script
.\Create-Release.ps1
dotnet builddotnet test# Nettoyer le build
dotnet clean
# Relancer
.\Create-Release.ps1 -VersionType patch
# Voir la version actuelle
$json = Get-Content .\CharacterManager\appsettings.json | ConvertFrom-Json
$json.AppInfo.Version
Créer une tùche planifiée pour relancer automatiquement à une heure donnée:
# Dans Task Scheduler:
# Déclencheur: à 22:00 le dimanche
# Action: powershell.exe -ExecutionPolicy Bypass -File Create-Release.ps1 -VersionType patch
# .github/workflows/release.yml
name: Release
on:
schedule:
- cron: '0 22 * * 0' # Dimanche 22:00
jobs:
release:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Create Release
run: .\Create-Release.ps1 -VersionType patch
| Fichier | Description |
|---|---|
| Create-Release.ps1 | Script principal (ce fichier) |
| Increment-Version.ps1 | Incrémente la version |
| Sync-InnoSetupVersion.ps1 | Synchronise Inno Setup |
| publish.ps1 | Publie lâapp |
| Build-Installer.ps1 | Compile installateur |
| CHANGELOG.md | Historique des versions |
| RELEASE_NOTES.md | Notes de release |
Vous pouvez maintenant créer une nouvelle version en une seule commande:
.\Create-Release.ps1
Lâapplication sera automatiquement:
Bonne release! đ