charts/pipelines-library/templates/pipelines/_common_java_maven.yaml (395 lines of code) (raw):
{{- define "java-maven-build-common" -}}
- name: compile
taskRef:
kind: Task
name: maven
runAfter:
- get-cache
- security
params:
- name: MAVEN_IMAGE
value: $(params.image)
- name: GOALS
value:
- -B
- compile
workspaces:
- name: source
workspace: shared-workspace
- name: test
taskRef:
kind: Task
name: maven
runAfter:
- compile
params:
- name: MAVEN_IMAGE
value: $(params.image)
- name: GOALS
value:
- -B
- org.jacoco:jacoco-maven-plugin:prepare-agent
- '-Dmaven.test.failure.ignore=true'
- verify
- org.jacoco:jacoco-maven-plugin:report
workspaces:
- name: source
workspace: shared-workspace
- name: sonar
taskRef:
kind: Task
name: sonarqube-maven
runAfter:
- test
params:
- name: SONAR_PROJECT_KEY
value: $(params.CODEBASE_NAME)
- name: SONAR_PROJECT_NAME
value: $(params.CODEBASE_NAME)
- name: MAVEN_IMAGE
value: $(params.sonar_image)
- name: EXTRA_COMMANDS
value:
- -B
- '-Dsonar.projectKey=$(params.CODEBASE_NAME)'
- '-Dsonar.projectName=$(params.CODEBASE_NAME)'
- '-Dsonar.branch.name=$(params.git-source-revision)'
- '-Dsonar.qualitygate.wait=true'
- verify
- sonar:sonar
workspaces:
- name: source
workspace: shared-workspace
- name: build
taskRef:
kind: Task
name: maven
runAfter:
- sonar
params:
- name: MAVEN_IMAGE
value: $(params.image)
- name: GOALS
value:
- -B
- clean
- package
- '-DskipTests=true'
workspaces:
- name: source
workspace: shared-workspace
- name: push
taskRef:
kind: Task
name: maven
runAfter:
- build
params:
- name: MAVEN_IMAGE
value: $(params.image)
- name: GOALS
value:
- -B
- deploy
- '-DskipTests=true'
workspaces:
- name: source
workspace: shared-workspace
{{- end -}}
{{- define "java-maven-review-common-gerrit" -}}
- name: compile
taskRef:
kind: Task
name: maven
runAfter:
- get-cache
params:
- name: MAVEN_IMAGE
value: $(params.image)
- name: GOALS
value:
- -B
- compile
workspaces:
- name: source
workspace: shared-workspace
- name: test
taskRef:
kind: Task
name: maven
runAfter:
- compile
params:
- name: MAVEN_IMAGE
value: $(params.image)
- name: GOALS
value:
- -B
- org.jacoco:jacoco-maven-plugin:prepare-agent
- '-Dmaven.test.failure.ignore=true'
- verify
- org.jacoco:jacoco-maven-plugin:report
workspaces:
- name: source
workspace: shared-workspace
- name: sonar
taskRef:
kind: Task
name: sonarqube-maven
runAfter:
- test
params:
- name: SONAR_PROJECT_KEY
value: $(params.CODEBASE_NAME)
- name: SONAR_PROJECT_NAME
value: $(params.CODEBASE_NAME)
- name: MAVEN_IMAGE
value: $(params.sonar_image)
- name: EXTRA_COMMANDS
value:
- -B
- '-Dsonar.projectKey=$(params.CODEBASE_NAME)'
- '-Dsonar.projectName=$(params.CODEBASE_NAME)'
- '-Dsonar.pullrequest.key=$(params.changeNumber)'
- '-Dsonar.pullrequest.branch=$(params.git-refspec)'
- '-Dsonar.pullrequest.base=$(params.targetBranch)'
- '-Dsonar.qualitygate.wait=true'
- verify
- sonar:sonar
workspaces:
- name: source
workspace: shared-workspace
- name: build
taskRef:
kind: Task
name: maven
runAfter:
- sonar
params:
- name: MAVEN_IMAGE
value: $(params.image)
- name: GOALS
value:
- -B
- clean
- package
- '-DskipTests=true'
workspaces:
- name: source
workspace: shared-workspace
{{- end -}}
{{- define "java-maven-review-common" -}}
- name: compile
taskRef:
kind: Task
name: maven
runAfter:
- get-cache
params:
- name: MAVEN_IMAGE
value: $(params.image)
- name: GOALS
value:
- -B
- compile
workspaces:
- name: source
workspace: shared-workspace
- name: test
taskRef:
kind: Task
name: maven
runAfter:
- compile
params:
- name: MAVEN_IMAGE
value: $(params.image)
- name: GOALS
value:
- -B
- org.jacoco:jacoco-maven-plugin:prepare-agent
- '-Dmaven.test.failure.ignore=true'
- verify
- org.jacoco:jacoco-maven-plugin:report
workspaces:
- name: source
workspace: shared-workspace
- name: sonar
taskRef:
kind: Task
name: sonarqube-maven
runAfter:
- test
params:
- name: SONAR_PROJECT_KEY
value: $(params.CODEBASE_NAME)
- name: SONAR_PROJECT_NAME
value: $(params.CODEBASE_NAME)
- name: MAVEN_IMAGE
value: $(params.sonar_image)
- name: EXTRA_COMMANDS
value:
- -B
- '-Dsonar.projectKey=$(params.CODEBASE_NAME)'
- '-Dsonar.projectName=$(params.CODEBASE_NAME)'
- '-Dsonar.pullrequest.key=$(params.changeNumber)'
- '-Dsonar.pullrequest.branch=$(params.git-source-revision)'
- '-Dsonar.pullrequest.base=$(params.targetBranch)'
- '-Dsonar.qualitygate.wait=true'
- verify
- sonar:sonar
workspaces:
- name: source
workspace: shared-workspace
- name: build
taskRef:
kind: Task
name: maven
runAfter:
- sonar
params:
- name: MAVEN_IMAGE
value: $(params.image)
- name: GOALS
value:
- -B
- clean
- package
- '-DskipTests=true'
workspaces:
- name: source
workspace: shared-workspace
{{- end -}}
{{- define "java-maven-get-module" -}}
- name: get-maven-module
taskRef:
kind: Task
name: get-maven-module
runAfter:
- init-values
workspaces:
- name: source
workspace: shared-workspace
subPath: source
{{- end -}}
{{- define "dockerbuild-verify-maven" -}}
- name: dockerbuild-verify
taskRef:
kind: Task
name: dockerbuild-verify
runAfter:
- get-maven-module
- build
- dockerfile-lint
params:
- name: context
value: "$(tasks.get-maven-module.results.DEPLOYABLE_MODULE_DIR)"
workspaces:
- name: source
workspace: shared-workspace
subPath: source
{{- end -}}
{{- define "build-pipeline-java-maven-image-build-push-common" -}}
- name: kaniko-build
taskRef:
kind: Task
name: kaniko
runAfter:
- get-maven-module
- push
- build
params:
- name: codebase-name
value: "$(params.CODEBASE_NAME)"
- name: image-tag
value: "$(tasks.get-version.results.IS_TAG)"
- name: image-tar
value: "$(params.CODEBASE_NAME)_$(tasks.get-version.results.IS_TAG)"
- name: context
value: "$(tasks.get-maven-module.results.DEPLOYABLE_MODULE_DIR)"
workspaces:
- name: source
workspace: shared-workspace
subPath: source
{{- end -}}
{{- define "build-pipeline-java-maven-rpm-build-push-default" -}}
- name: rpm-build
taskRef:
kind: Task
name: rpm-build
runAfter:
- get-maven-module
- push
- build
params:
- name: suffix
value: "$(tasks.get-version.results.NORMALIZED_VERSION)"
- name: EXTRA_LINT_COMMAND
value: |
make rpm-lint
- name: EXTRA_BUILD_COMMAND
value: |
make rpm-build RELEASE=${SUFFIX}
- name: EXTRA_PUSH_COMMAND
value: |
make rpm-publish RELEASE=${SUFFIX}
workspaces:
- name: source
workspace: shared-workspace
subPath: source
{{- end -}}
{{- define "build-pipeline-java-maven-rpm-build-push-edp" -}}
- name: rpm-build
taskRef:
kind: Task
name: rpm-build
runAfter:
- get-maven-module
- push
- build
params:
- name: suffix
value: "$(tasks.get-version.results.SUFFIX)"
- name: numeric_version
value: "$(tasks.get-version.results.NUMERIC_VERSION)"
- name: EXTRA_LINT_COMMAND
value: |
make rpm-lint
- name: EXTRA_BUILD_COMMAND
value: |
make rpm-build VERSION=${NUMERIC_VERSION} RELEASE=${SUFFIX}
- name: EXTRA_PUSH_COMMAND
value: |
make rpm-publish RELEASE=${SUFFIX} VERSION=${NUMERIC_VERSION}
workspaces:
- name: source
workspace: shared-workspace
subPath: source
{{- end -}}
{{- define "build-pipeline-java-maven-rpm-review" -}}
- name: rpm-build
taskRef:
kind: Task
name: rpm-build
runAfter:
- get-maven-module
- build
params:
- name: suffix
value: "0.0.0"
- name: numeric_version
value: "SNAPSHOT.1"
- name: EXTRA_LINT_COMMAND
value: |
make rpm-lint
- name: EXTRA_BUILD_COMMAND
value: |
make rpm-build VERSION=${NUMERIC_VERSION} RELEASE=${SUFFIX}
- name: EXTRA_PUSH_COMMAND
value: |
echo "Review pipeline - skip push step"
workspaces:
- name: source
workspace: shared-workspace
subPath: source
{{- end -}}