Merge branch 'feature/newHelmTemplate' into 'main'
New Pipeline flow See merge request redactmanager/qa/helm!38
This commit is contained in:
commit
79360249b3
126
.gitlab-ci.yml
126
.gitlab-ci.yml
@ -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'
|
|
||||||
|
|||||||
4
answers/container-upload.yaml
Normal file
4
answers/container-upload.yaml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
global:
|
||||||
|
imageRegistry: "nexus.knecon.com:5001"
|
||||||
|
imagePullSecrets:
|
||||||
|
- knecon
|
||||||
Loading…
x
Reference in New Issue
Block a user