98 lines
2.7 KiB
Groovy
98 lines
2.7 KiB
Groovy
pipeline {
|
|
agent any
|
|
|
|
environment {
|
|
PACKAGE_NAME = "espos-archive-keyring"
|
|
APTLY_REPO = "espos-unstable"
|
|
|
|
APTLY_HOST = "ubuntu@elordenador.org"
|
|
|
|
DEB_FILE = "*.deb"
|
|
}
|
|
|
|
stages {
|
|
|
|
stage('Checkout') {
|
|
steps {
|
|
checkout scm
|
|
}
|
|
}
|
|
|
|
stage('Install Build Dependencies') {
|
|
steps {
|
|
sh '''
|
|
sudo apt update
|
|
sudo apt install -y build-essential devscripts debhelper lintian
|
|
'''
|
|
}
|
|
}
|
|
|
|
stage("Build Debian Package") {
|
|
steps {
|
|
sh '''
|
|
dpkg-buildpackage -us -uc
|
|
ls -lah ..
|
|
'''
|
|
}
|
|
}
|
|
|
|
stage("Lintian Check") {
|
|
steps {
|
|
sh '''
|
|
lintian ../*.deb || true
|
|
'''
|
|
}
|
|
}
|
|
stage("Upload to aptly") {
|
|
steps {
|
|
sshagent(['srv01_elordenador_org']) {
|
|
sh '''
|
|
ssh-keyscan -H elordenador.org >> ~/.ssh/known_hosts
|
|
scp ../${DEB_FILE} ${APTLY_HOST}:/tmp/
|
|
'''
|
|
}
|
|
}
|
|
}
|
|
stage("Publish Repository") {
|
|
steps {
|
|
sshagent(['srv01_elordenador_org']) {
|
|
|
|
withCredentials([
|
|
string(
|
|
credentialsId: 'aptly_gpg_pass',
|
|
variable: 'GPG_PASS'
|
|
)
|
|
]) {
|
|
|
|
sh '''
|
|
ssh ${APTLY_HOST} "
|
|
aptly repo add espos-unstable /tmp/*.deb
|
|
|
|
if aptly publish list | grep -q espos-unstable
|
|
then
|
|
aptly publish update \
|
|
-passphrase='${GPG_PASS}' \
|
|
espos-unstable
|
|
else
|
|
aptly publish repo \
|
|
-distribution=espos-unstable \
|
|
-component=main \
|
|
-passphrase='${GPG_PASS}' \
|
|
espos-unstable
|
|
fi
|
|
"
|
|
'''
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
post {
|
|
success {
|
|
echo "Paquete publicado correctamente"
|
|
}
|
|
failure {
|
|
echo "Error construyendo paquete"
|
|
}
|
|
}
|
|
} |