Interview Scripting (Bash, Groovy)

What is a Jenkins shared library, and how is it written in Groovy? [Advanced]

Answer

A Jenkins shared library is reusable Pipeline code stored in a separate repository or configured library. It is written in Groovy using vars/ for global pipeline steps and src/ for classes, allowing teams to standardize CI/CD behavior across repositories.

Technical explanation

vars/myStep.groovy exposes a callable step named myStep in Jenkinsfiles.

src/ contains regular Groovy classes organized by package.

Shared libraries reduce copy-paste Jenkinsfiles and centralize patterns like Docker build, security scan, deployment, and notifications.

Hands-on example

// vars/buildAndPush.groovy

def call(Map cfg = [:]) {

sh "docker build -t ${cfg.image}:${env.BUILD_NUMBER} ."

sh "docker push ${cfg.image}:${env.BUILD_NUMBER}"

}

// Jenkinsfile

@Library('platform-ci') _

buildAndPush(image: 'registry.example.com/orders-api')

Preparing for an interview?

Check how well your resume matches the role with our free resume checker— match score, ATS check, and the skills you're missing.

More Scripting (Bash, Groovy) interview questions

← All Scripting (Bash, Groovy) questions