85 lines
2.5 KiB
Groovy
85 lines
2.5 KiB
Groovy
pipeline {
|
|
agent {
|
|
docker {
|
|
image 'ogbrowser-build:latest'
|
|
|
|
args '-u root:root'
|
|
label 'jenkins-slave'
|
|
}
|
|
}
|
|
stages {
|
|
stage('Prepare environment') {
|
|
steps {
|
|
sh '''
|
|
apt-get update
|
|
apt-get install -y openssh-client
|
|
'''
|
|
}
|
|
}
|
|
|
|
|
|
stage('Install Dependencies') {
|
|
steps {
|
|
sshagent (credentials: ['aptly-key']) {
|
|
|
|
sh '''
|
|
pwd
|
|
uname -a
|
|
df
|
|
env
|
|
|
|
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
apt-get update
|
|
apt-get install -y build-essential cmake g++ qt6-base-dev qt6-webengine-dev linguist-qt6 libgl1-mesa-dev qt6-tools-dev qt6-l10n-tools qt6-tools-dev-tools libqt6core5compat6-dev lxqt-build-tools qt6-webengine-dev-tools libqt6webenginecore6-bin ninja-build
|
|
|
|
|
|
echo "Test"
|
|
aptly=172.17.8.68
|
|
ssh aptly@${aptly} -o StrictHostKeyChecking=no "uptime"
|
|
|
|
'''
|
|
}
|
|
}
|
|
}
|
|
stage('Build') {
|
|
steps {
|
|
sh '''
|
|
mkdir -p build
|
|
cd build
|
|
cmake .. -DCPACK_PACKAGE_VERSION_PATCH=${BUILD_NUMBER} -G Ninja
|
|
ninja
|
|
'''
|
|
}
|
|
}
|
|
stage('Create package') {
|
|
steps {
|
|
sh '''
|
|
cd build
|
|
cpack -G DEB
|
|
'''
|
|
}
|
|
}
|
|
|
|
stage("Upload package to Aptly") {
|
|
steps {
|
|
sshagent (credentials : ['aptly-key']) {
|
|
withCredentials([string(credentialsId: 'aptly-gpg-passphrase', variable: 'GPG_PASSPHRASE')]) {
|
|
sh '''
|
|
aptly=172.17.8.68
|
|
scp -o StrictHostKeyChecking=no build/OGBrowser-2.0.${BUILD_NUMBER}-Linux.deb aptly@${aptly}:/tmp
|
|
ssh aptly@${aptly} -o StrictHostKeyChecking=no "aptly repo add opengnsys /tmp/OGBrowser-2.0.${BUILD_NUMBER}-Linux.deb"
|
|
ssh aptly@${aptly} -o StrictHostKeyChecking=no "aptly publish update -passphrase=\"${GPG_PASSPHRASE}\" noble filesystem:opengnsys:main "
|
|
'''
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
post {
|
|
always {
|
|
cleanWs()
|
|
}
|
|
}
|
|
}
|