Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Beskrivning för att skapa en ny pipeline för en spring boot mikrotjänst som deployas i openshift, genom att nyttja den gemensama pipeline som finns för utvecklingsfabriken.

Skapa nytt

...

repository

  1. Lägg till en nytt repository med tjänsten tjänstens namn här https://gitlab.sundsvall.se/argocd/api-services

  2. Lägg till två brancher, test (default) och prod. Dessa kommer användas för att separera vad som ska deployas i test och vad som ska deployas i produktion

  3. Lägg till en .gitignore:

    Code Block
    /charts
    *.tgz
    *.lock
  4. Skapa två kataloger i roten, deployment och pipeline. Katalogen pipeline kommer innehålla definitionen för mikrotjänstens pipeline. Katalogen deployment kommer innehålla definitionen för hur mikrotjänsten ska deployas.

...

Code Block
apiVersion: v2
name: api-<service>
description: A Helm chart for simulator<service>
service

type: application
version: 0.1.0

dependencies:
  - name: spring-boot-chart
    version: ^0.1.*
    repository: http://nexus.sundsvall.se/repository/sundsvall-helm/

...

Note: appName bör matcha spring-boot-pipeline.applicationName som sattes i pipeline charten. Alternativt sätt kan image.nameOverride sättas till att matcha spring-boot-pipeline.applicationName.

...

  1. Logga in i Argo CD på test klustret (länk till sub page för Argo) och gå till Repositories

  2. Klicka på “CONNECT CONNECT REPO USING SSH”SSH. Fyll i “Name” Name och “Repository URL” Repository URL och klicka på “CONNECT” CONNECT

  3. Klicka på “Create application” Create application. (Detta kommer göras två gånger. En för pipeline och en för deployment)

  4. Sätt “Application Name” Application Name (pipeline suffixas med “-pipeline”)

  5. Sätt “Project Name” Project Name (TODO, skapa fler projekt, sätt default tillsvidaretills vidare)

  6. Sätt “Revision” Revision till test (kan sättas till annat, men det är default i spring-boot-pipeline chart)

  7. Sätt “Path” Path till pipeline för pipeline applikationen eller deployment för deployment av mikrotjänst

  8. Sätt “Cluster URL” Cluster URL till https://kubernetes.default.svc (deployment samma kluster som Argo CD kör i)

  9. Kryssa i “DIRECTORY RECURSE” DIRECTORY RECURSE

  10. Klicka “CREATE” 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 syns detta i Argo CD. Man kan också välja att låta Argo CD synka automatiskt och på så vis slippa synka manuellt.

För produktions klustret produktionsklustret sätts endast en applikation upp i Argo CD. Denna applikation ska peka på deployment med branch prod. Bygge av image sker alltså bara en gång per commit och promotas sedan till varje miljö.

...