...
Lägg till en nytt repository för med tjänsten namn här https://gitlab.sundsvall.se/argocd/api-services
Lägg till två brancher,
test
(default) ochprod
. Dessa kommer användas för att separera vad som ska deployas i test och vad som ska deployas i produktionLägg till en
.gitignore
:Code Block /charts *.tgz *.lock
Skapa två kataloger i roten,
deployment
ochpipeline
.pipeline
kommer innehålla definitionen för mikrotjänstens pipeline.deployment
kommer innehålla definitionen för hur mikrotjänsten ska deployas.
...
Note: appName
bör matcha spring-boot-pipeline.applicationName
som sattes i pipeline charten. Alternativt sätt image.nameOverride
till att matcha spring-boot-pipeline.applicationName
.
Verifiering kan göras med hjälp av Helm. Detta kräver Helm CLI och att https://nexus.sundsvall.se/repository/sundsvall-helm/ läggs till som repo (Se Helm Repo Add).
user@computer ~/repos/argocd/api-services/service/deployment $ helm template --dependency-update .
Lägg till bevakning av repo i Argo CD
Logga in i Argo CD på test klustret (länk till sub page för Argo) och gå till Repositories
Klicka på “CONNECT REPO USING SSH”. Fyll i “Name” och “Repository URL” och klicka på “CONNECT”
Klicka på “Create application”. (Detta kommer göras två gånger. En för pipeline och en för deployment)
Sätt “Application Name” (pipeline suffixas med “-pipeline”)
Sätt “Project Name” (TODO, skapa fler projekt, sätt default tillsvidare)
Sätt “Revision” till
test
(kan sättas till annat, men det är default i spring-boot-pipeline chart)Sätt “Path” till
pipeline
för pipeline applikationen ellerdeployment
för deployment av mikrotjänstSätt “Cluster URL” till https://kubernetes.default.svc (deployment samma kluster som Argo CD kör i)
Kryssa i “DIRECTORY RECURSE”
Klicka “CREATE”
När detta är gjort för både pipeline och deployment kan respektive manifest synkas.
Nu bevakar Argo CD två applikationer. En för pipeline och en för deployment. Hamnar något i osynk mellan klustret och gitlab repot kommer syns detta i Argo CD. Man kan också välja att låta Argo CD synka automatiskt och på så vis slippa synka manuellt.
Lägg till webhook i github.com
Gå till tjänsten repository → Settings → Webhooks → Add webhook
TODO: Lägg till info när proxy för webooks är klar.