diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..bad987f --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,79 @@ +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 ''' + scp ../${DEB_FILE} \ + ${APTLY_HOST}:/tmp/ + ''' + } + } + } + stage("Publish Repository") { + steps { + sshagent(['srv01_elordenador_org']) { + sh ''' + ssh ${APTLY_HOST} << EOF + + aptly repo add ${APTLY_REPO} /tmp/*.deb + aptly publish switch ${APTLY_REPO} + + EOF + ''' + } + } + } + } + post { + success { + echo "Paquete publicado correctamente" + } + failure { + echo "Error construyendo paquete" + } + } +} \ No newline at end of file