Merge branch 'feature/newHelmTemplate' into 'main'

New Pipeline flow

See merge request redactmanager/qa/helm!38
This commit is contained in:
Kevin Tumma 2023-11-15 10:09:06 +01:00
commit 79360249b3
2 changed files with 27 additions and 103 deletions

View File

@ -1,109 +1,29 @@
stages:
- lint
- build
- deploy
- release
default:
image:
name: "alpine/k8s:1.26.3"
variables: variables:
PIPELINE: PROJECT_NAME_PARENT: qa
description: "Defines which Path of the Pipeline" TEST_STARTUP: ""
value: "default" TEST_BASE: ""
options: TEST_PERFORMANCE: ""
- release TEST_LOAD: ""
- default KUBE_CONTEXT_BARATHEON: "redactmanager/infra:baratheon"
- custom KUBE_CONTEXT_BARATHEON2: "redactmanager/infra:baratheon2"
KUBE_CONTEXT_LANNISTER: "redactmanager/infra:lannister"
DEACTIVATE_TESTS: "true"
workflow: include:
name: "Pipeline for Merge Request: $merge_request_event" - project: 'gitlab/gitlab'
rules: ref: 'main'
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH file: 'ci-templates/helm_automatedtests_releases.yml'
variables:
PIPELINE: "release"
- if: $CI_COMMIT_REF_NAME =~ /release/
variables:
PIPELINE: "release"
- if: $PIPELINE == "custom"
- if: $CI_COMMIT_TAG
when: never
- if: $CI_PIPELINE_SOURCE == "push"
when: never
- if: "$CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS"
when: never
Helm Lint: Construct Readme:
stage: lint stage: lint
allow_failure: true
needs:
- Get Scripts
rules:
- changes:
- values.yaml
image: image:
name: alpine/helm:3.11.1 name: registry.knecon.com/knecon/devops/readme-generator:1.1.0
entrypoint: ["/bin/sh", "-c"]
script: script:
- helm lint . - ls -la
- source gitlab/ci-templates/qa/script_library.sh; check_readme_values
Helm Template:
stage: lint
image:
name: alpine/helm:3.11.1
entrypoint: ["/bin/sh", "-c"]
script:
- echo "Templating for Answerfile Container Upload"
- helm template . -f testanswers/answers-startup.yml
Kubescore:
stage: lint
image: zegl/kube-score:latest
script:
- echo "Scoring the Chart YAML"
- kube-score score Chart.yaml
Nexus custom Upload:
stage: release
needs:
- Helm Template
- Helm Lint
rules:
- if: $PIPELINE == "custom"
image: registry.knecon.com/knecon/devops/build-image:latest
script:
- VERSION=$(cat Chart.yaml | grep "^version:" | sed 's/^version:\s\(.*\)$/\1/g')
- uploadFile=$( helm package . | awk 'NF>1{print q $NF}' )
- curl -s -u "${CI_NEXUS_USER}:${CI_NEXUS_PASSWORD}" "${CI_NEXUS_ADDRESS}:443/repository/red-dev/" --upload-file $uploadFile
Nexus Upload:
stage: release
needs:
- Helm Template
- Helm Lint
rules:
- if: $PIPELINE == "release"
image: registry.knecon.com/knecon/devops/build-image:latest
script:
- VERSION=$(cat Chart.yaml | grep "^version:" | sed 's/^version:\s\(.*\)$/\1/g')
- uploadFile=$( helm package . | awk 'NF>1{print q $NF}' )
- curl -s -u "${CI_NEXUS_USER}:${CI_NEXUS_PASSWORD}" "${CI_NEXUS_ADDRESS}:443/repository/red-dev/" --upload-file $uploadFile
- echo "FILE=$(echo $uploadFile)" >> variables.env
- echo "VERSION=$(echo $VERSION)" >> variables.env
artifacts:
reports:
dotenv: variables.env
Helm-pre-release:
stage: release
rules:
- if: $PIPELINE == "release"
needs:
- job: Nexus Upload
artifacts: true
image: registry.gitlab.com/gitlab-org/release-cli:latest
script:
- echo "Releasing version $VERSION"
release:
tag_name: '$VERSION'
description: '$VERSION'
ref: '$CI_COMMIT_SHA'
assets:
links:
- name: '$FILE'
url: '${CI_NEXUS_ADDRESS}/repository/red-dev/$FILE'

View File

@ -0,0 +1,4 @@
global:
imageRegistry: "nexus.knecon.com:5001"
imagePullSecrets:
- knecon