pipeline { agent any parameters { string(name: 'IMAGE_NAME', defaultValue: 'CLEVER-JENKINS-FILE.img', description: 'IMAGE_NAME') //string(name: 'WORKSPACE', defaultValue: '', description: 'WORKSPACE') } environment { BUILD_DIRECTORY = '/home/pi/temp' PREFIX_PATH = '/mnt' DEV_BOOT = '/dev/disk/by-uuid/CDD4-B453' DEV_ROOTFS = '/dev/disk/by-uuid/72bfc10d-73ec-4d9e-a54a-1cc507ee7ed2' DEBIAN_FRONTEND = 'noninteractive' LANG = 'C.UTF-8' LC_ALL = 'C.UTF-8' } stages { stage('Get image') { environment { RPI_DONWLOAD_URL = 'https://downloads.raspberrypi.org/raspbian_lite_latest' RPI_ZIP_NAME = 'raspbian_lite_latest.zip' RPI_IMAGE_NAME = '2017-11-29-raspbian-stretch-lite.img' } steps { sh "$WORKSPACE/image/image-config.sh get_image $BUILD_DIRECTORY $RPI_ZIP_NAME $RPI_DONWLOAD_URL $RPI_IMAGE_NAME ${params.IMAGE_NAME}" } } stage('Resize FS') { environment { SIZE = '7G' } steps { sh "$WORKSPACE/image/image-config.sh resize_fs $SIZE $BUILD_DIRECTORY ${params.IMAGE_NAME} $DEV_ROOTFS" } } stage('Configure interfaces') { environment { EXECUTE_FILE = 'iface.sh' } steps { sh "$WORKSPACE/image/image-config.sh execute $BUILD_DIRECTORY/${params.IMAGE_NAME} $PREFIX_PATH $DEV_ROOTFS $DEV_BOOT $WORKSPACE/image/$EXECUTE_FILE" } } stage('Install Apps') { environment { EXECUTE_FILE = 'apps.sh' } steps { sh "$WORKSPACE/image/image-config.sh execute $BUILD_DIRECTORY/${params.IMAGE_NAME} $PREFIX_PATH $DEV_ROOTFS $DEV_BOOT $WORKSPACE/image/$EXECUTE_FILE" } } stage('Install ROS') { environment { EXECUTE_FILE = 'ros.sh' } steps { sh "$WORKSPACE/image/image-config.sh execute $BUILD_DIRECTORY/${params.IMAGE_NAME} $PREFIX_PATH $DEV_ROOTFS $DEV_BOOT $WORKSPACE/image/$EXECUTE_FILE" } } } }