Deploy & Patching W27
Opened this issue · 0 comments
Tuesday: Prod-deploy
- Deploy updates to APIM production (if updated since last deploy)
- Check APIM deploys to TT02 for updates to
#authorization
and#access-management
. If none of them have been deployed the last week, no production APIM deploy is needed. - Deploy products with changes to APIM production.
- Check APIM deploys to TT02 for updates to
- Deploy1 all platform components to production2.
- Deploy Authorization to production.
- Deploy Delegation Events to production.
- Deploy Access Management to production.
- Verify new pods startup without errors.
- Verify function app deployment.
- Grab a coffee.
- Verify no errors reported for the components in Slack channels #alerts-prod or #alerts-prod-critical.
- Post-deploy Authorization and Access Management if everything looks good.
- Post-deploy Delegation Events if everything looks good.
- Deploy frontend to production (if a new release was made and deployed to TT02 last week)
- Check Access Management Frontend Releases if a new release was made last week and deployed to TT02
- Deploy new release of Access Management Frontend to production.
- Verify new revision of container app started without error.
- If any of the above steps or links needs correction update the automatic issue template.
Wednesday: TT02-deploy
- Deploy updates to APIM TT02 (if updated since last deploy)
- Check APIM deploys to AT for updates to
#authorization
and#access-management
. If none of them have been deployed the last week, no TT02 APIM deploy is needed. - Deploy products with changes to TT02 APIM.
- Check APIM deploys to AT for updates to
- Deploy1 all platform components to TT023.
- Deploy Authorization to TT02.
- Deploy Delegation Events to TT02.
- Deploy Access Management to TT02.
- Verify new pods startup without errors.
- Verify function app deployment.
- Grab a coffee.
- Verify Authorization K6 automated test results.
- Verify Authorization Bruno automated test results.
- Verify Access Management K6 automated test results.
- Verify Access Management Bruno automated test results.
- Verify no errors reported for the components in Slack channels #alerts-prod or #alerts-prod-critical (Yes, TT02 alerts also goes here).
- Post-deploy Authorization and Access Management if everything looks good.
- Post-deploy Delegation Events if everything looks good.
- Deploy frontend to TT02 (if a draft release with changes is waiting for deploy)
- Check Access Management Frontend Releases if a release draft is waiting.
- Publish the draft as the next release as
v{year}.{releaseNumber}
- Deploy new release of Access Management Frontend to TT02.
- Verify new revision of container app started without error.
- Verify Cypress automated tests results.
- If any of the above steps or links needs correction update the automatic issue template.
Thursday: Patching
Go through all github pull-requests from the dependency bots in all repos
Deployrutine
Det som skal deployes til PROD skal ha vært ute i TT02 i en uke. Før man deployer må man sørge for at man ikke introduserer nye feil, så da må man sjekke et par steder:
Sjekk Slack-kanalene
For deploy til PROD må du gå gjennom kanalene "alerts-prod" og "alerts-prod-critical" for å se om det er noen feil som berører eller er forårsaket av repoet som skal deployes. For TT02 sjekkes "alerts-test". Hvis det ser greit ut her kan du gå videre og sjekke ut https://portal.azure.com.
Sjekk failures i portal.azure.com
Gå til https://portal.azure.com -> Application Insights -> tt02-platform-ai/prod-platform-ai -> failures.
Klikk på Roles, så Clear selection, og velg rollen som tilsvarer komponenten du skal deploye. Hvis det er feil her, skriv på Slack (team-autorisasjon eller utviklere-autorisasjon) og hør om det er noe de kjenner til, og om det er en stopper for deploy. Hvis svaret er at det er OK, eller om du ikke finner noen feil, gå videre til neste steg.
Pre-deploy approval
Når alt er klart går du til https://dev.azure.com/brreg/altinn-studio. Klikk deg inn på Pipelines -> Releases -> komponenten som skal deployes (Access Management i dette tilfellet) -> Production (på tirsdager, ellers TT02 på onsdager). Klikk på den nyligste blå knappen.
Når du klikker på Approve starter deploy.
Post-deploy approval
Deploy tar noen minutter. Når den er ferdig må man Approve Post-Deployment. Før du gjør dette må du sjekke et par ting.
Sjekk pods i portal.azure.com
Gå til https://portal.azure.com/ og velg Kubernetes services.
Klikk på platform-prod-02-aks (eller tt02 hvis deployet til TT02) -> Workloads -> Pods. Her kan du sortere på Age så alle de nyeste pod'ene kommer først. I dette skjermbildet ble Access Management deployet, man ser at alle fire Access Management pod'ene har en grønn hake under Ready og Running som status. Hvis noen av pod'ene ikke er Ready, kan det hende du må vente noen minutter og sjekke igjen.
Unntak for Delegation Events: sjekk functions i stedet for pods
TODO
Post-deploy Approval
Hvis alt ser bra ut kan du gå tilbake til https://dev.azure.com/brreg/altinn-studio og finne Releasen som som ble deployet og approve post-deployment.