Merge branch 'refs/heads/development' into 35-add-sonar-qube-to-project

# Conflicts:
#	services/data-manager/sonar-project.properties
This commit is contained in:
Elmar Kresse
2024-06-13 20:51:33 +02:00
121 changed files with 3014 additions and 359 deletions

View File

@ -35,33 +35,60 @@ lint-frontend:
- npm i
- npm run lint-no-fix
lint-backend:
lint-data-manager:
stage: lint
image: golangci/golangci-lint:latest
rules:
- changes:
- backend/**/*
- services/data-manager/**/*
script:
- cd backend
- cd services/data-manager
- go mod download
- golangci-lint --version
- golangci-lint run -v --skip-dirs=migrations --timeout=5m
lint-ical:
stage: lint
image: golangci/golangci-lint:latest
rules:
- changes:
- services/ical/**/*
script:
- cd services/ical
- go mod download
- golangci-lint --version
- golangci-lint run -v --skip-dirs=migrations --timeout=5m
build-backend:
build-data-manager:
image: golang:alpine
stage: build
rules:
- changes:
- backend/**/*
- services/data-manager/**/*
script:
- cd backend
- cd services/data-manager
- go build -o htwkalender
artifacts:
paths:
- backend/htwkalender
- backend/go.sum
- backend/go.mod
- data-manager/htwkalender
- data-manager/go.sum
- data-manager/go.mod
build-ical:
image: golang:alpine
stage: build
rules:
- changes:
- services/ical/**/*
script:
- cd services/ical
- go build -o htwkalender-ical
artifacts:
paths:
- data-manager/htwkalender-ical
- data-manager/go.sum
- data-manager/go.mod
sonarqube-check-backend:
stage: sonarqube-check
@ -99,17 +126,29 @@ build-frontend:
paths:
- frontend/build
test-backend:
test-data-manager:
image: golang:alpine
stage: test
rules:
- changes:
- backend/**/*
- services/data-manager/**/*
script:
- cd backend
- cd services/data-manager
- go test -v ./...
dependencies:
- build-backend
- build-data-manager
test-ical:
image: golang:alpine
stage: test
rules:
- changes:
- services/ical/**/*
script:
- cd services/ical
- go test -v ./...
dependencies:
- build-ical
test-frontend:
image: node:lts
@ -124,7 +163,7 @@ test-frontend:
dependencies:
- lint-frontend
build-backend-image:
build-data-manager-image:
stage: oci-build
image: docker:latest
services:
@ -132,7 +171,7 @@ build-backend-image:
tags:
- image
variables:
IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-backend
IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-data-manager
DOCKER_HOST: tcp://docker:2376
DOCKER_TLS_CERTDIR: "/certs"
DOCKER_TLS_VERIFY: 1
@ -140,12 +179,35 @@ build-backend-image:
before_script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
script:
- docker build --pull -t $IMAGE_TAG -f ./backend/Dockerfile --target prod ./backend
- docker build --pull -t $IMAGE_TAG -f ./services/data-manager/Dockerfile --target prod ./services/data-manager
- docker push $IMAGE_TAG
rules:
- if: $CI_COMMIT_BRANCH == "main" || $CI_COMMIT_BRANCH == "development"
changes:
- backend/**/*
- services/data-manager/**/*
build-ical-image:
stage: oci-build
image: docker:latest
services:
- docker:dind
tags:
- image
variables:
IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-ical
DOCKER_HOST: tcp://docker:2376
DOCKER_TLS_CERTDIR: "/certs"
DOCKER_TLS_VERIFY: 1
DOCKER_CERT_PATH: "/certs/client"
before_script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
script:
- docker build --pull -t $IMAGE_TAG -f ./services/ical/Dockerfile --target prod ./services/ical
- docker push $IMAGE_TAG
rules:
- if: $CI_COMMIT_BRANCH == "main" || $CI_COMMIT_BRANCH == "development"
changes:
- services/ical/**/*
build-frontend-image:
stage: oci-build