diff --git a/scripts/docker-build.sh b/scripts/docker-build.sh index 689072f..24615ef 100644 --- a/scripts/docker-build.sh +++ b/scripts/docker-build.sh @@ -1,5 +1,6 @@ #!/usr/bin/env bash #%%MULTILINE_YAML_START #Build Docker Container -docker build -t $CI_REGISTRY/$CI_PROJECT_PATH:latest . -docker push "$CI_REGISTRY/$CI_PROJECT_PATH:latest" \ No newline at end of file +docker build -t $CI_REGISTRY/$CI_PROJECT_PATH:$GITVERSION -t $CI_REGISTRY/$CI_PROJECT_PATH:latest . +docker push "$CI_REGISTRY/$CI_PROJECT_PATH:latest" +docker push "$CI_REGISTRY/$CI_PROJECT_PATH:$GITVERSION" \ No newline at end of file diff --git a/scripts/helm-addrepo.sh b/scripts/helm-addrepo.sh new file mode 100644 index 0000000..a281fd2 --- /dev/null +++ b/scripts/helm-addrepo.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +#%%MULTILINE_YAML_START +#Helm repo add + +helm repo add --username gitlab-ci-token --password ${CI_JOB_TOKEN} ${CI_PROJECT_NAME} ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/helm/stable \ No newline at end of file diff --git a/scripts/helm-package.sh b/scripts/helm-package.sh new file mode 100644 index 0000000..e8996e7 --- /dev/null +++ b/scripts/helm-package.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#%%MULTILINE_YAML_START +#Helm Package + +for chart in charts/*; do + if [ -d "$chart" ]; then + helm package "$chart" -d ./packages --version ${GITVERSION} + fi +done \ No newline at end of file diff --git a/scripts/helm-push.sh b/scripts/helm-push.sh new file mode 100644 index 0000000..2dae5dc --- /dev/null +++ b/scripts/helm-push.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#%%MULTILINE_YAML_START +#Helm Push + +helm plugin install https://github.com/chartmuseum/helm-push +for chart in packages/*; do + helm cm-push ./$chart ${CI_PROJECT_NAME} +done diff --git a/templates/build-container.tpl.yml b/templates/build-container.tpl.yml index b2de828..adc66cd 100644 --- a/templates/build-container.tpl.yml +++ b/templates/build-container.tpl.yml @@ -1,5 +1,6 @@ stages: - build + build-container: image: docker:20.10.16 variables: @@ -11,4 +12,14 @@ build-container: - ./scripts/docker-login.sh - ./scripts/docker-build.sh only: - - main \ No newline at end of file + - main + +HelmChart: + image: dtzar/helm-kubectl + stage: build + script: + - ./scripts/helm-addrepo.sh + - ./scripts/helm-package.sh + - ./scripts/helm-push.sh + only: + - main \ No newline at end of file