Skip to content

Instantly share code, notes, and snippets.

@quintesse
Created August 19, 2020 14:09
Show Gist options
  • Save quintesse/ec15af3285c1fff8a78ad8d859c6b6d9 to your computer and use it in GitHub Desktop.
Save quintesse/ec15af3285c1fff8a78ad8d859c6b6d9 to your computer and use it in GitHub Desktop.
Maven Tekton Pipeline
apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
name: quarkus-build
spec:
params:
- name: BUILDER_IMAGE
description: The location of the s2i builder image.
default: quay.io/quarkus/centos-quarkus-maven:20.1.0-java11
- name: PATH_CONTEXT
description: The location of the project to build
default: .
- name: TLSVERIFY
description: Verify the TLS on the registry endpoint (for push/pull to a non-TLS registry)
default: 'true'
- name: LOGLEVEL
description: Log level when running the S2I binary
default: '0'
workspaces:
- name: source
- name: maven-repo
steps:
- name: build
command:
- mvn
- -Dmaven.repo.local=$(workspaces.maven-repo.path)
- -X
- package
image: $(params.BUILDER_IMAGE)
securityContext:
privileged: true
workingDir: $(workspaces.source.path)/$(params.PATH_CONTEXT)
---
apiVersion: tekton.dev/v1beta1
kind: Pipeline
metadata:
name: quarkus-build-pipeline
spec:
params:
- name: git-url
- name: git-revision
default: master
- name: source-path
default: .
workspaces:
- name: git-source
- name: maven-repo
tasks:
- name: fetch-from-git
taskRef:
name: git-clone
params:
- name: url
value: $(params.git-url)
- name: revision
value: $(params.git-revision)
workspaces:
- name: output
workspace: git-source
- name: build-code
taskRef:
name: quarkus-build
params:
- name: PATH_CONTEXT
value: $(params.source-path)
runAfter:
- fetch-from-git
workspaces:
- name: source
workspace: git-source
- name: maven-repo
workspace: maven-repo
---
apiVersion: tekton.dev/v1beta1
kind: PipelineRun
metadata:
name: quarkus-build-pipelinerun
spec:
serviceAccountName: dockerhub-service
pipelineRef:
name: quarkus-build-pipeline
params:
- name: git-url
value: https://github.com/quarkusio/quarkus-quickstarts
- name: source-path
value: getting-started
workspaces:
- name: git-source
persistentVolumeClaim:
claimName: maven-repo-pvc
# volumeClaimTemplate:
# spec:
# accessModes:
# - ReadWriteOnce
# resources:
# requests:
# storage: 1Gi
- name: maven-repo
emptyDir: {}
# persistentVolumeClaim:
# claimName: maven-repo-pvc
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: dockerhub-service
secrets:
- name: dockercreds
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: maven-repo-pvc
spec:
resources:
requests:
storage: 5Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment