Skip to content

Instantly share code, notes, and snippets.

View davidecavestro's full-sized avatar

Davide Cavestro davidecavestro

View GitHub Profile
@jonico
jonico / Jenkinsfile
Last active March 5, 2025 22:51
Example for a full blown Jenkins pipeline script with CodeQL analysis steps, multiple stages, Kubernetes templates, shared volumes, input steps, injected credentials, heroku deploy, sonarqube and artifactory integration, Docker containers, multiple Git commit statuses, PR merge vs branch build detection, REST API calls to GitHub deployment API, …
#!groovy
import groovy.json.JsonOutput
import groovy.json.JsonSlurper
def label = "mypod-${UUID.randomUUID().toString()}"
podTemplate(label: label, yaml: """
spec:
containers:
- name: mvn
image: maven:3.3.9-jdk-8
#!/bin/sh
docker run -t -e UID="$(id -u)" -e GID="$(id -g)" -v "$PWD":/w -w /tmp --rm alpine sh -c 'wget "https://github.com/Tomas-M/iotop/archive/master.zip" && unzip master.zip && cd iotop-master && apk add gcc make ncurses-dev linux-headers ncurses-static musl-dev && V=1 LIBS="-no-pie -static -static-libgcc -static-libstdc++" make && strip -s iotop && chown "$UID:$GID" iotop && chmod +x iotop && mv iotop /w/'