kubeRestartDeployment: Add function
The `kubeRestartDeployment` function restarts a Kubernetes deployment using `kubectl rollout restart`. This command is run in a dedicated pod, with the `kubectl` binary bind-mounted from the host.master
commit
917db648c7
|
@ -0,0 +1,34 @@
|
|||
@groovy.transform.Field
|
||||
def POD_YAML = '''\
|
||||
spec:
|
||||
containers:
|
||||
- name: jnlp
|
||||
volumeMounts:
|
||||
- name: kubectl
|
||||
mountPath: /bin/kubectl
|
||||
readOnly: true
|
||||
volumes:
|
||||
- name: kubectl
|
||||
hostPath:
|
||||
path: /usr/bin/kubectl
|
||||
type: File
|
||||
'''
|
||||
|
||||
def call(args) {
|
||||
def namespace = args?.namespace
|
||||
def name = args?.name
|
||||
|
||||
if (name == null) {
|
||||
name = env.JOB_NAME.split('/')[1]
|
||||
}
|
||||
|
||||
if (namespace == null) {
|
||||
namespace = name
|
||||
}
|
||||
|
||||
podTemplate(yaml: POD_YAML) {
|
||||
node(POD_LABEL) {
|
||||
sh "kubectl rollout restart deployment -n ${namespace} ${name}"
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue