-
Notifications
You must be signed in to change notification settings - Fork 10
/
app-build-task.yaml
77 lines (76 loc) · 2.16 KB
/
app-build-task.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
apiVersion: tekton.dev/v1alpha1
kind: Task
metadata:
name: build-app
spec:
inputs:
resources:
- name: source
type: git
params:
- name: contextDir
description: Parameter Description
default: .
- name: mavenMirrorUrl
description: Parameter Description
default: http://repo1.maven.apache.org/maven2
- name: destinationImage
description: Parameter Description
default: "${outputs.resources.builtImage.url}"
- name: dockerFile
description: Parameter Description
default: src/main/docker/Dockerfile.jvm
outputs:
resources:
- name: builtImage
type: image
steps:
- name: build-sources
image: quay.io/rhdevelopers/quarkus-java-builder:graal-19.1.1
workingDir: "/workspace/source/${inputs.params.contextDir}"
args:
- '/usr/local/bin/maven-run.sh'
env:
- name: MAVEN_MIRROR_URL
value: "${inputs.params.mavenMirrorUrl}"
- name: MAVEN_CMD_ARGS
value: "-DskipTests clean install"
- name: WORK_DIR
value: "/workspace/source/${inputs.params.contextDir}"
resources:
limits:
cpu: 4
memory: 4Gi
requests:
cpu: 2
memory: 2Gi
securityContext:
privileged: true
- name: build-image
image: quay.io/buildah/stable
workingDir: "/workspace/source/${inputs.params.contextDir}"
command: ['buildah', 'bud', '--tls-verify=false', '--layers','-f', '${inputs.params.dockerFile}', '-t', '${inputs.params.destinationImage}', '.']
resources:
limits:
cpu: 4
memory: 4Gi
requests:
cpu: 2
memory: 2Gi
securityContext:
privileged: true
volumeMounts:
- name: varlibc
mountPath: /var/lib/containers
- name: build-push
image: quay.io/buildah/stable
workingDir: "/workspace/source/${inputs.params.contextDir}"
command: ["buildah","push", "--tls-verify=false","${inputs.params.destinationImage}","docker://${inputs.params.destinationImage}"]
securityContext:
privileged: true
volumeMounts:
- name: varlibc
mountPath: /var/lib/containers
volumes:
- name: varlibc
emptyDir: {}