Build, configuration & deploiement
Build / run / publish
bash
dotnet build # build (commande du CI)
dotnet run --project src/Web # run local
cd src/Web && dotnet publish -c Release . -o __publish # publishsrc/Web/Web.csproj : net8.0, Microsoft.NET.Sdk.Web. Packages cles : Umbraco.Cms 13.9.2, uSync 13.2.7 (+ uSync.Exporter), Umbraco.Cms.Imaging.ImageSharp, Umbraco.Community.Contentment, Our.Umbraco.GMaps, GoogleAuthenticator, Spk.Common.Helpers, Microsoft.ICU.ICU4C.Runtime. Razor non compile au build/publish (fichiers copies pour le backoffice).
Configuration
| Fichier | Role | Secrets |
|---|---|---|
appsettings.json | Base complete (reference de schema) | non |
appsettings.Development.json | Overrides partages entre devs | non |
appsettings.local.json | Overrides par dev (git-ignore) | oui |
Cles importantes (appsettings.json) :
- DeliveryApi :
Enabled=true,PublicAccess=true,Media.PublicAccess=false,RichTextOutputAsJson=false. - ModelsBuilder :
ModelsMode=SourceCodeAuto,ModelsNamespace=Web.umbraco.Models. ConnectionStrings.umbracoDbDSN(vide en versionne, defini au deploiement ; providerMicrosoft.Data.SqlClient).- uSync :
ExportOnSave=Settings,ImportAtStartup=Settings,DictionaryHandler.CreateOnly=true. - CORS :
AccmFrontendUrl,IcogneFrontendUrl,LinfoFrontendUrl. PublishWebhook.Url+PublishWebhook.Secret,GoogleMaps.ApiKey.- Serilog : sink Console (async) dans
appsettings.json-> logs sur stdout, visibles viadocker logs(en plus des logs fichiers Umbraco dansumbraco/Logs, montes via docker-compose).
Base de donnees & medias
- MSSQL sur la VM Azure
vmsqla001:umb_accm-content-headless_staging/_prod. - Pas de migrations EF : le schema est gere par l'installeur Umbraco + uSync.
- Medias stockes en local sur la VM (Azure Columbia), montes via docker-compose (
./media:/app/wwwroot/media, logs./logs:/app/umbraco/Logs).
Docker (hosting/Dockerfile)
- Build :
mcr.microsoft.com/dotnet/sdk:8.0->dotnet restore+dotnet publish -c Release -o /app/publish. Build argENVIRONMENTselectionne le CSS backoffice (backoffice.${ENVIRONMENT}.css). - Runtime :
mcr.microsoft.com/dotnet/aspnet:8.0,ENTRYPOINT ["dotnet", "Web.dll"].
CI/CD (GitLab)
.gitlab-ci.yml, stage build (Docker-in-Docker, docker:25). Image registry.internal.spektrum-suisse.ch/accm-content-headless.
staging: auto sur push, tagsstaging+ short SHA.master/prod : gate manuel (when: manual), tagsprod+ short SHA.- Deploiement docker-compose sur la VM : staging port 5005 (
docker-compose.yml), prod port 5008 (docker-compose.production.yml). - Note : le depot a utilise CircleCI auparavant ; le pipeline actif est GitLab CI.
Branches
feature/* -> develop -> staging (QA) -> master (prod). develop et staging restent equivalents.
Tests
tests/Web/ (xUnit 2.9.2 + Moq). Actuellement seulement un DummyTest scaffold ; pas de stage de test dans le pipeline.
Contributors
No contributors
Changelog
No recent changes

