From a18ce5dfe76070829395c7ff6840488139669483 Mon Sep 17 00:00:00 2001 From: William Petit Date: Wed, 2 Apr 2025 15:32:25 +0200 Subject: [PATCH] feat(gitea): add uploadPackage() helper --- vars/gitea.groovy | 48 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/vars/gitea.groovy b/vars/gitea.groovy index 19880d6..637206f 100644 --- a/vars/gitea.groovy +++ b/vars/gitea.groovy @@ -115,6 +115,54 @@ void release(String credentialsId, String org, String project, Map options = [:] ) } +// Téléverse un paquet sur Gitea pour le / donné. +void uploadPackage(String credentialsId, String org, String project, String packageFile, Map options = [:]) { + String baseUrl = options.get('baseUrl', 'https://forge.cadoles.com') + + String scriptTempDir = ".gitea-package-script-${System.currentTimeMillis()}" + sh("mkdir -p '${scriptTempDir}'") + + String giteaPackageScript = "${scriptTempDir}/gitea-package.sh" + + String giteaPackageScriptContent = libraryResource 'com/cadoles/gitea/gitea-package.sh' + writeFile file: giteaPackageScript, text:giteaPackageScriptContent + sh("chmod +x '${giteaPackageScript}'") + + try { + withCredentials([ + usernamePassword( + credentialsId: credentialsId, + usernameVariable: 'GITEA_PACKAGE_USERNAME', + passwordVariable: 'GITEA_PACKAGE_PASSWORD' + ) + ]) { + sh """ + export GITEA_PACKAGE_PROJECT="${project}" + export GITEA_PACKAGE_ORG="${org}" + export GITEA_PACKAGE_FILE="${packageFile}" + + ${giteaPackageScript} + """ + } + } finally { + dir(scriptTempDir) { + deleteDir() + } + } + + rocketSend( + avatar: 'https://jenkins.cadol.es/static/b5f67753/images/headshot.png', + message: """ + Nouveau paquet publié pour le projet `${org}/${project}`: [${packageFile}](${baseUrl}/${org}/-/packages/) + + [Visualiser le job](${env.RUN_DISPLAY_URL}) + + @${utils.getBuildUser()} + """.stripIndent(), + rawMessage: true + ) +} + // Télécharge les fichiers associés à une "version" publiée sur un projet Gitea void download(String credentialsId, String org, String project, Map options = [:]) { String baseUrl = options.get('baseUrl', 'https://forge.cadoles.com')