Gå til innhold

Utrulling (deploy)

Hvor de ulike delene kjører, og hvordan de rulles ut. Se også Drift og overvåking for logging/feilsøking og Komme i gang for lokal kjøring.

Servere og hva som kjører hvor

Komponent Server / vert Teknologi
Connect API IIS på JHSVMAPP340-01 (lokal/on-prem) ASP.NET Web API, .NET Framework 4.8
Databaser SQL Server JHSVMSQL164-01\VISMA Visma-databaser F{id} + Connect-tabeller per selskap
ConnectMonitor Tjenermaskin (Windows Task Scheduler) .NET-konsoll, ett flagg per planlagt oppgave
Web-app app.knapphus.net Angular/Ionic-bygg (www/)
Android Google Play (net.knapphus.connectapp) Capacitor
Dokumentasjon docs.knapphus.net (+ staging) Azure Static Web Apps
Staging-API staging-api2.knapphus.net Testmiljø for API-et

Hvilket API appen bruker bestemmes av API_ENDPOINT i app-settings.ts på byggetidspunktet.

Connect API → IIS (JHSVMAPP340-01)

  1. Bygg knapphus-connect-api i Release (Visual Studio / MSBuild, .NET Framework 4.8). Ved endring i forretningslaget: bygg jhlVismaAPI og kopier jhlVismaAPI.dll til dependencies/ først (se Komme i gang).
  2. Publiser til IIS-siden på JHSVMAPP340-01 (Web Deploy eller filkopi til sitens fysiske mappe). App-pool: .NET Framework 4.8, Integrated.
  3. Web.config på serveren — kontroller før recycle:
  4. connectionStrings: VismaSQL_{id} og ConnectSQL_{id} for alle selskaper, mot JHSVMSQL164-01\VISMA. Mangler én → login/refresh gir 500 for det selskapet.
  5. FormsDBEntities_{id} der skjema brukes.
  6. VBS_Endpoint/VBS_*, integrasjonsnøkler.
  7. Ny funksjonalitet med DB-krav: kjør SQL-skriptene i docs/ (refresh_token_database_setup.sql, survey_kiosk_database_setup.sql) på de aktuelle databasene på JHSVMSQL164-01\VISMA.
  8. Recycle app-poolen og kjør verifiseringen under.

Web.config er per-server

Web.configJHSVMAPP340-01 er ikke det samme som i repoet — connection strings og hemmeligheter settes per server. Ta kopi før endring.

Databaser (JHSVMSQL164-01\VISMA)

Instansen er kilden for både Visma-databasene (F{id}) og Connect-tabellene (RefreshTokens, KioskTokens, SurveySubmissions) som ligger i samme selskaps-DB. Backuprutiner: se Backup og restore. Nytt selskap: se onboarding-runbooken.

ConnectMonitor

Bygg KnapphusConnectMonitor.sln, kopier til tjenermaskinen, og planlegg hvert jobbflagg som en egen oppgave i Task Scheduler. App.config peker på VismaSQL/VBSURL. Jobbene er dokumentert under ConnectMonitor.

Web-app og dokumentasjon

  • Web-app: pnpm build → deploy www/ til app.knapphus.net. Service worker gir brukerne oppdateringsvarsel automatisk.
  • Android: egen prosess, se Android-release.
  • Dokumentasjon: Azure Pipelines (azure-pipelines-docs-*.yml) bygger med mkdocs --strict og deployer til docs(-staging).knapphus.net.

Verifisering etter deploy

  1. curl https://‹api-host›/api/Company/GetCompanies → 200 + selskapsliste.
  2. Innlogging med testselskap (9148) og et reelt selskap fungerer, svaret inneholder RefreshToken.
  3. auth/refresh svarer 401 på ugyldig token (ikke 404/500).
  4. Én ordre kan åpnes og én sjekkliste lastes (Landax-kjeden).
  5. jhlVismaAPILog.txt er fri for nye feil de første minuttene.

Rollback

  • API: behold forrige publiserte mappe på JHSVMAPP340-01 og bytt tilbake; versjoner Web.config-endringer manuelt (ta kopi før endring).
  • Web-app: deploy forrige www/-bygg.
  • Android: rull ut forrige .aab på nytt i Play (ny versionCode), eller stopp utrulling i Play Console.
  • Dokumentasjon: git revert på master.

Relaterte sider