Versions Compared

Key

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

...

I roden af kodebasen skal der findes en groovy-fil kaldet Jenkinsfile. Denne indeholder opskriften på at bygge komponenten i NSP CI-miljøet. Denne fil er leverandørens "indgang" til byggejobbet. QA-funktionen og driften sørger for at opsætte jobs, der anvender denne fil til byg og sikrer at de nødvendige afviklingsrettigheder er tilstede for leverandøren. I udgangspunktet bliver disse jobs sat op til at bygge komponenten så snart der detekteres kodeændringer under /trunk. 

For referencer til pipelinesyntaksen kan følgende læses: https://jenkins.io/doc/book/pipeline/syntax/ der anvendes scriptede pipelinefiler.

I det følgende er der beskrevet, hvad jenkinsfilen forventes at indeholde. Byg af kode og byg af docker images er "must haves".

...

Dockerimages der skal driftes på platformen skal derfor altid, med mindre andet er aftalt, tage udgangspunkt i

registry.nspop.dk/platform/nsp:<version>

Den nuværende version er 1 - de forskellige tags er for nuværende ikke 100% immutable, da mindre opdateringer, der for komponenterne er irrelevante kan medføre nye udgaver af versionen. Ved større ændringer, hvor det forventes at kunne have indflydelse, skifter versionsnummeret.

For referencedokumentation til Dockerfiles kan følgende læses: https://docs.docker.com/engine/reference/builder/

Optionals...

Yderligere er der så mulighed for at opsætte automatisk generering af code-coverage rapporter, testrapporter osv. Det kan også lade sig gøre at notificere via slack, hvis byggejobbet går skævt og leverandøren skal underettes.

...

For hver komponent skal der ligeledes være en compose folder under roden af repository'et. Folderen skal indeholde en docker-compose fil, der udtaler sig om hvordan komponenten startes i testsammenhæng og een der udtaler sig om hvordan komponenten startes, når denne skal deployes i NSP miljøerne. Yderligere kan man som leverandør have stor fordel af at lave en development compose-fil, som kan anvendes i udviklingsammenhæng (med mulighed for at mappe stier til deployment af war-filer og specificere hvor dockerfiler findes til build øjemed). 

For referencedokumentation omkring compose-filer kan følgende læses: https://docs.docker.com/compose/compose-file/

Eksempler

NCC

Der er til formålet konstrueret eksempelkode under NCC (NSP Containerized Component) - dette findes her: https://svn.nspop.dk/svn/components/ncc/ 

...