From 8b75e1371ff679f40531b378662908f3caf1bfa5 Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Thu, 27 Mar 2025 08:34:46 +0100 Subject: [PATCH] Add new functions to library, publish in repo and build pacages --- vars/construirPaquete.groovy | 10 ++++++++++ vars/publicarEnAptly.groovy | 15 +++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 vars/construirPaquete.groovy create mode 100644 vars/publicarEnAptly.groovy diff --git a/vars/construirPaquete.groovy b/vars/construirPaquete.groovy new file mode 100644 index 0000000..ea4eb51 --- /dev/null +++ b/vars/construirPaquete.groovy @@ -0,0 +1,10 @@ +def call(String buildDir, String artifactsDir, String remoteHost, String remotePath) { + dir(buildDir) { + sh ''' + dpkg-buildpackage -us -uc + mkdir -p ${artifactsDir} && mv ../*.deb ../*.changes ../*.buildinfo ${artifactsDir}/ + ssh aptly@${remoteHost} "rm -rf ${remotePath}/* && mkdir -p ${remotePath}" + scp -r ${artifactsDir}/* aptly@${remoteHost}:${remotePath}/ + ''' + } +} diff --git a/vars/publicarEnAptly.groovy b/vars/publicarEnAptly.groovy new file mode 100644 index 0000000..5d0931c --- /dev/null +++ b/vars/publicarEnAptly.groovy @@ -0,0 +1,15 @@ +def call(String repoPath, String repoName, String versionPattern) { + // Construir el patrón de versión esperado en el nombre del paquete + def packagePattern = "*${versionPattern}*.deb" + + // Buscar y añadir al repositorio los paquetes que coincidan con el patrón + sh """ + for deb in ${repoPath}/${packagePattern}; do + if [ -f "\$deb" ]; then + aptly repo add ${repoName} "\$deb" + else + echo "No se encontraron paquetes .deb para la versión ${versionPattern}." + fi + done + """ +}