-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathJenkinsfile-create-pvc
59 lines (57 loc) · 1.31 KB
/
Jenkinsfile-create-pvc
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
// Uses Declarative syntax to run commands inside a container.
pipeline {
agent {
kubernetes {
// Rather than inline YAML, in a multibranch Pipeline you could use: yamlFile 'jenkins-pod.yaml'
// Or, to avoid YAML:
// containerTemplate {
// name 'shell'
// image 'ubuntu'
// command 'sleep'
// args 'infinity'
// }
yaml '''
apiVersion: v1
kind: Pod
spec:
serviceAccountName: jenkins-service-account
containers:
- name: shell
image: dtzar/helm-kubectl:latest
command:
- sleep
args:
- infinity
'''
// Can also wrap individual steps:
// container('shell') {
// sh 'hostname'
// }
defaultContainer 'shell'
}
}
parameters {
string(name: 'flowExecutionId', defaultValue: '123456', description: 'Flow Execution ID')
}
stages {
stage('Main') {
steps {
sh """
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: "$params.flowExecutionId"
spec:
accessModes:
- ReadWriteOnce
storageClassName: local-path
resources:
requests:
storage: 2Gi
EOF
"""
}
}
}
}