From 99cd5d10e1280068bff1eba37a37f6d356fe077e Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 16 Jul 2026 14:56:48 +0200 Subject: [PATCH] refactor: enhance cleanup process in Jenkinsfile and build-liveiso.sh --- Jenkinsfile | 30 ++++++++++++++++++++++++++++++ build-liveiso.sh | 10 ++++++++++ 2 files changed, 40 insertions(+) diff --git a/Jenkinsfile b/Jenkinsfile index 1ee113e..0d0ac67 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -3,14 +3,32 @@ pipeline { environment { ROOTFS_JOB = "espos-rootfs" + WORKDIR = "${WORKSPACE}/work" } stages { + stage('Cleanup Previous Mounts') { + steps { + sh ''' + sudo umount -R "$WORKDIR/rootfs" 2>/dev/null || true + + sudo umount -lf "$WORKDIR/rootfs/dev/pts" 2>/dev/null || true + sudo umount -lf "$WORKDIR/rootfs/dev/shm" 2>/dev/null || true + sudo umount -lf "$WORKDIR/rootfs/dev" 2>/dev/null || true + sudo umount -lf "$WORKDIR/rootfs/proc" 2>/dev/null || true + sudo umount -lf "$WORKDIR/rootfs/sys" 2>/dev/null || true + + sudo rm -rf "$WORKDIR" || true + ''' + } + } + stage("Checkout") { steps { checkout scm } } + stage('Download RootFS') { steps { copyArtifacts( @@ -31,6 +49,18 @@ pipeline { } post { + always { + sh ''' + sudo umount -R "$WORKDIR/rootfs" 2>/dev/null || true + + sudo umount -lf "$WORKDIR/rootfs/dev/pts" 2>/dev/null || true + sudo umount -lf "$WORKDIR/rootfs/dev/shm" 2>/dev/null || true + sudo umount -lf "$WORKDIR/rootfs/dev" 2>/dev/null || true + sudo umount -lf "$WORKDIR/rootfs/proc" 2>/dev/null || true + sudo umount -lf "$WORKDIR/rootfs/sys" 2>/dev/null || true + ''' + } + success { archiveArtifacts( artifacts: '*.iso', diff --git a/build-liveiso.sh b/build-liveiso.sh index 8bf1206..8bbed5b 100644 --- a/build-liveiso.sh +++ b/build-liveiso.sh @@ -10,7 +10,17 @@ rm -rf "$WORKDIR" mkdir -p "$ROOTFS" mkdir -p "$ISO/live" +cleanup() { + umount -R "$ROOTFS" 2>/dev/null || true + umount -lf "$ROOTFS/dev/pts" 2>/dev/null || true + umount -lf "$ROOTFS/dev/shm" 2>/dev/null || true + umount -lf "$ROOTFS/dev" 2>/dev/null || true + umount -lf "$ROOTFS/proc" 2>/dev/null || true + umount -lf "$ROOTFS/sys" 2>/dev/null || true +} + +trap cleanup EXIT echo "=== Extracting RootFS ===" tar --zstd -xf espos-openrc-rootfs.tar.zst -C "$ROOTFS"