Files
2026-07-18 15:30:33 +00:00

76 lines
2.2 KiB
Groovy

pipeline {
agent any
environment {
ROOTFS_JOB = "espos-rootfs-gnome"
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("Install dependencies") {
steps {
sh 'sudo apt install -y squashfs-tools xorriso grub-pc-bin grub-efi-amd64-bin grub-common grub2-common mtools dosfstools zstd pv tree file'
}
}
stage('Download RootFS') {
steps {
copyArtifacts(
projectName: env.ROOTFS_JOB,
selector: lastSuccessful()
)
}
}
stage('Build ISO') {
steps {
sh '''
chmod +x build-liveiso.sh
sudo ./build-liveiso.sh
'''
}
}
}
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',
fingerprint: true
)
}
}
}