charts/pipelines-library/templates/pipelines/autotests/gradle/gitlab-build-default.yaml (134 lines of code) (raw):
{{ if has "gitlab" .Values.global.gitProviders }}
{{ if or ( .Values.pipelines.deployableResources.java.java8 ) ( .Values.pipelines.deployableResources.java.java11 ) ( .Values.pipelines.deployableResources.java.java17 )}}
{{- $raw := include "edp-tekton.resourceMapping.maven" . | fromYaml -}}
{{- $rawSonar := include "edp-tekton.resourceMapping.gradleSonar" . | fromYaml -}}
{{- range $framework, $image := $raw }}
{{- $sonarImage := pluck $framework $rawSonar | first -}}
apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
name: gitlab-gradle-{{ $framework }}-aut-build-default
labels:
app.edp.epam.com/pipelinetype: build
{{- include "edp-tekton.labels" $ | nindent 4 }}
spec:
description: "The Build pipeline for building {{ $framework }} automation tests with Gradle (default version)"
workspaces:
- name: shared-workspace
- name: ssh-creds
params:
- name: gitfullrepositoryname
description: "repository full name"
type: string
- name: pipelineUrl
default: https://portal-{{ $.Release.Namespace }}.{{ $.Values.global.dnsWildCard }}/c/main/pipelines/$(context.pipelineRun.namespace)/$(context.pipelineRun.name)
type: string
- name: git-source-url
default: "https://github.com/sergk/spring-petclinic"
description: git url to clone
type: string
- name: git-source-revision
description: 'git revision to checkout (branch, tag, sha, ref…)'
default: "edp"
type: string
- name: CODEBASE_NAME
default: '{{ $framework }}-gradle'
description: "Project name"
type: string
- name: changeNumber
description: Change number from Merge Request
default: ""
type: string
- name: image
default: '{{ $image }}'
description: "gradle image version"
type: string
- name: sonar_image
default: '{{ $sonarImage }}'
description: "sonar image version"
type: string
- name: COMMIT_MESSAGE
description: "Commit message"
default: ""
{{- include "build-result" $ | nindent 2 }}
tasks:
{{- include "gitlab-build-start" $ | nindent 4 }}
- name: get-version
taskRef:
kind: Task
name: get-version-default
runAfter:
- init-values
params:
- name: BRANCH_NAME
value: $(params.git-source-revision)
- name: BASE_IMAGE
value: $(params.image)
- name: update-build-number
taskRef:
kind: Task
name: update-build-number-gradle-default
runAfter:
- get-version
params:
- name: BASE_IMAGE
value: $(params.image)
- name: VERSION
value: $(tasks.get-version.results.VERSION)
workspaces:
- name: source
workspace: shared-workspace
subPath: source
- name: sonar
taskRef:
kind: Task
name: sonarqube-gradle
runAfter:
- update-build-number
params:
- name: BASE_IMAGE
value: $(params.sonar_image)
- name: SONAR_PROJECT_KEY
value: $(params.CODEBASE_NAME)
- name: SONAR_PROJECT_NAME
value: $(params.CODEBASE_NAME)
- name: EXTRA_COMMANDS
value: |
-PnexusMavenRepositoryUrl=${NEXUS_HOST_URL}/repository/edp-maven-group \
-Dsonar.projectKey=$(params.CODEBASE_NAME) \
-Dsonar.projectName=$(params.CODEBASE_NAME) \
-Dsonar.host.url=${SONAR_HOST_URL} \
-Dsonar.branch.name=$(params.git-source-revision) \
-Dsonar.qualitygate.wait=true \
sonarqube
workspaces:
- name: source
workspace: shared-workspace
subPath: source
- name: git-tag
taskRef:
kind: Task
name: git-cli
runAfter:
- sonar
params:
- name: GIT_USER_EMAIL
value: edp-ci@edp.ci-user
- name: GIT_USER_NAME
value: edp-ci
- name: GIT_SCRIPT
value: |
git tag -a "$(tasks.get-version.results.VCS_TAG)" -m "Tag is added automatically by CI user"
git push --tags
workspaces:
- name: source
workspace: shared-workspace
subPath: source
- name: ssh-directory
workspace: ssh-creds
finally:
{{ include "gitlab-build-vote" . | nindent 4 }}
---
{{ end }}
{{ end }}
{{ end }}