pipeline { agent any environment { ARTIFACT_NAME = "my-artifact" VERSION = "1.0.0" TARBALL = "${ARTIFACT_NAME}-${VERSION}.tar.gz" } stages { stage('Prepare') { steps { script { sh ''' mkdir -p build echo "Hello, World!" > build/example.txt ''' } } } stage('Package') { steps { script { sh "tar -czvf ${TARBALL} -C build ." } } } stage('Archive') { steps { archiveArtifacts artifacts: "${TARBALL}", allowEmptyArchive: true } } } post { always { script { echo "Pipeline finished. Artifact: ${TARBALL}" } } } }