blob: 5fb70c25f7058b234983431cb8acc15d72176d5c [file] [log] [blame]
#!/usr/bin/env groovy
library 'functions'
def packageBuildNames = [
'core.mendel-minimal',
'core.base-files',
'core.edgetpuvision',
'core.edgetpudemo',
'core.mdt-services',
'core.mendel-distro-info-data',
'core.mendel-keyring',
'core.runonce',
'core.usb-gadget',
'core.vitalsd',
'core.meta-mendel'
]
def label = "build-jenkins-operator-${UUID.randomUUID().toString()}"
def home = "/home/jenkins"
def workspace = "${home}/workspace/build-pbuilder-cross"
def workdir = "${workspace}/src"
podTemplate(label: label,
containers: [
containerTemplate(name: 'jnlp', image: 'jenkins/jnlp-slave:alpine'),
containerTemplate(name: 'debian', image: 'debian:buster-slim', command: 'cat', ttyEnabled: true, privileged: true),
],
envVars: [
],
) {
node(label) {
dir(workdir) {
stage('Init') {
container('debian') {
sh """
mkdir -p archive/pool
"""
packageBuildNames.each {
copyArtifacts(projectName: it,
filter: '**/*',
flatten: true,
target: 'archive/pool',
selector: lastSuccessful())
}
sh """
apt-get update
apt-get -y install curl gnupg
echo "deb http://packages.cloud.google.com/apt gcsfuse-jessie main" > /etc/apt/sources.list.d/gcsfuse.list
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
apt-get update
apt-get -y install apt-utils gcsfuse
"""
}
}
stage('Build') {
container('debian') {
sh """
mkdir -p archive/pool
echo ==========================
ls -la \*/\*
echo ==========================
cp out/target/product/*/packages/*/* archive/pool
cd archive
apt-ftparchive -o APT::FTPArchive::SHA512=false pool > Packages
"""
}
}
stage('Deploy') {
container('debian') {
googleStorageUpload(bucket: 'gs://mendel-linux-apt/',
credentialsId: 'mendel-linux-cloud-infra',
pattern: 'archive/**',
pathPrefix: 'archive/',
sharedPublicly: true)
}
}
}
}
}