mirror of
https://github.com/CopterExpress/clover.git
synced 2026-05-26 21:19:35 +00:00
Add: new structure of jobs Jenkins CI
Signed-off-by: urpylka <urpylka@gmail.com>
This commit is contained in:
57
image/Jenkinsfile-build
Normal file
57
image/Jenkinsfile-build
Normal file
@@ -0,0 +1,57 @@
|
||||
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'
|
||||
}
|
||||
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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
35
image/Jenkinsfile-release
Normal file
35
image/Jenkinsfile-release
Normal file
@@ -0,0 +1,35 @@
|
||||
pipeline {
|
||||
agent any
|
||||
parameters {
|
||||
//string(name: 'GWBT_REPO_NAME', defaultValue: 'master', description: 'GWBT_REPO_NAME')
|
||||
//string(name: 'GWBT_RELEASE_TAG_NAME', defaultValue: 'master', description: 'REPO')
|
||||
//string(name: 'GWBT_RELEASE_PUBLISHED_AT', defaultValue: 'master', description: 'GWBT_RELEASE_PUBLISHED_AT')
|
||||
//string(name: 'GWBT_RELEASE_ID', defaultValue: '', description: 'GWBT_RELEASE_ID')
|
||||
//string(name: 'GWBT_RELEASE_BODY', defaultValue: '', description: 'GWBT_RELEASE_BODY')
|
||||
string(name: 'IMAGE_NAME', defaultValue: "${params.GWBT_REPO_NAME}_${params.GWBT_RELEASE_TAG_NAME}_${params.GWBT_RELEASE_PUBLISHED_AT}.img", description: 'IMAGE_NAME')
|
||||
//string(name: 'GWBT_TRIGGER', defaultValue: '', description: 'GWBT_TRIGGER')
|
||||
booleanParam(name: 'ONLY_PUBLISH', defaultValue: false, description: 'ONLY PUBLISH')
|
||||
//string(name: 'WORKSPACE', defaultValue: '', description: 'WORKSPACE')
|
||||
}
|
||||
environment {
|
||||
BUILD_DIRECTORY = '/home/pi/temp'
|
||||
}
|
||||
stages {
|
||||
stage('Build image') {
|
||||
when { not { expression { return params.ONLY_PUBLISH } } }
|
||||
steps {
|
||||
build job: 'CopterExpress-clever-build', parameters: [[$class: 'StringParameterValue', name: 'IMAGE_NAME', value: "${params.IMAGE_NAME}"], [$class: 'StringParameterValue', name: 'GWBT_RELEASE_TAG_NAME', value: "${params.GWBT_RELEASE_TAG_NAME}"]]
|
||||
sh "echo ${params.IMAGE_NAME}"
|
||||
}
|
||||
}
|
||||
stage('Publish image') {
|
||||
when { environment name: 'GWBT_TRIGGER', value: 'release' }
|
||||
environment {
|
||||
CONFIG_FILE = 'coex-ci.conf'
|
||||
}
|
||||
steps {
|
||||
sh "$WORKSPACE/image/image-config.sh publish_image $BUILD_DIRECTORY ${params.IMAGE_NAME} $WORKSPACE $CONFIG_FILE ${params.GWBT_RELEASE_ID} ${params.GWBT_RELEASE_BODY}"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user