charts/pipelines-library/templates/tasks/dotnet.yaml (83 lines of code) (raw):
{{ if .Values.pipelines.deployableResources.tasks }}
apiVersion: tekton.dev/v1
kind: Task
metadata:
name: dotnet
labels:
{{- include "edp-tekton.labels" . | nindent 4 }}
annotations:
tekton.dev/pipelines.minVersion: "0.12.1"
tekton.dev/displayName: DotNet
tekton.dev/categories: Build Tools
tekton.dev/tags: build-tool
tekton.dev/platforms: "linux/amd64,linux/s390x,linux/ppc64le"
spec:
description: >-
This task builds a .NET project with integration for Nexus and SonarQube, allowing for custom build commands and using a specified NuGet configuration.
workspaces:
- name: source
description: The workspace consisting of the dotnet project.
volumes:
- name: settings-nuget
configMap:
name: {{ .Values.tekton.configs.nugetConfigMap }}
params:
- name: BASE_IMAGE
description: DotNet base image.
type: string
default: "mcr.microsoft.com/dotnet/sdk:3.1.423-alpine3.16"
- name: PROJECT_DIR
description: The directory containing source code.
type: string
default: "."
- name: ci-nexus
type: string
description: name of the secret for the Nexus integration
default: ci-nexus
- name: ci-sonarqube
type: string
description: name of the secret for the Sonarqube integration
default: "ci-sonarqube"
- name: EXTRA_COMMANDS
type: string
steps:
- name: dotnet
image: $(params.BASE_IMAGE)
workingDir: $(workspaces.source.path)/$(params.PROJECT_DIR)
volumeMounts:
- name: settings-nuget
mountPath: $(workspaces.source.path)/$(params.PROJECT_DIR)/nuget.config
subPath: nuget.config
env:
- name: HOME
value: $(workspaces.source.path)
- name: SONAR_TOKEN
valueFrom:
secretKeyRef:
name: $(params.ci-sonarqube)
key: token
- name: SONAR_HOST_URL
valueFrom:
secretKeyRef:
name: $(params.ci-sonarqube)
key: url
- name: CI_USERNAME
valueFrom:
secretKeyRef:
name: $(params.ci-nexus)
key: username
- name: CI_PASSWORD
valueFrom:
secretKeyRef:
name: $(params.ci-nexus)
key: password
- name: NEXUS_HOST_URL
valueFrom:
secretKeyRef:
name: $(params.ci-nexus)
key: url
script: |
#!/usr/bin/env sh
set -e
$(params.EXTRA_COMMANDS)
{{- include "resources" . | nindent 6 }}
{{ end }}