pipeline { agent any environment { PACKAGE_NAME = "base-files" 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']) { sh ''' ssh ${APTLY_HOST} << 'EOF' SNAPSHOT="espos-build-${BUILD_NUMBER}" aptly snapshot create $SNAPSHOT from repo espos-unstable aptly repo add ${APTLY_REPO} /tmp/*.deb aptly publish switch ${APTLY_REPO} $SNAPSHOT EOF ''' } } } } post { success { echo "Paquete publicado correctamente" } failure { echo "Error construyendo paquete" } } }