From 6266a90e71ffe8e745a54843303833fbfcc109a4 Mon Sep 17 00:00:00 2001 From: Clemens Lauermann Date: Mon, 27 Apr 2020 18:13:47 +0200 Subject: [PATCH] add choice between zip or tar.gz for archive type --- Jenkinsfile | 23 +++++++++++++++++------ README.md | 7 +++++-- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index aadadd1..d59da42 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -20,8 +20,12 @@ pipeline { string( name: 'GIT_BRANCH', defaultValue: '*/master', - description: "Expert: Wenn Sie einen anderen als den 'master' Branch bauen möchten" + description: 'Experte: Wenn Sie einen anderen als den 'master' Branch bauen möchten' ) + choice( + name: 'ARCHIVE_FORMAT', + choices: ['diplomarbeit.zip', 'diplomarbeit.tar.gz'], + description: 'Archiv-Typ als der die Arbeit per Mail versandt wird') } stages { @@ -32,6 +36,9 @@ pipeline { // set template values env.TEMPLATE_URL = 'https://itsp.htl-leoben.at/git/Hg/HTLLE-DA-Vorlage.git' env.TEMPLATE_NAME = 'HTLLE-DA-Vorlage' + + // builduser credentials id in jenkins store for gitea login + env.GIT_CRED_ID = 'd65d903b-21ee-4055-98aa-ef82a903e287' // add https to the url if not present env.REPOSITORY = params.REPOSITORY @@ -81,7 +88,7 @@ pipeline { ]], submoduleCfg: [], userRemoteConfigs: [[ - credentialsId: 'd65d903b-21ee-4055-98aa-ef82a903e287', + credentialsId: "${env.GIT_CRED_ID}", url: "${env.REPOSITORY}" ]] ]) @@ -101,7 +108,7 @@ pipeline { ]], submoduleCfg: [], userRemoteConfigs: [[ - credentialsId: 'd65d903b-21ee-4055-98aa-ef82a903e287', + credentialsId: "${env.GIT_CRED_ID}", url: "${env.TEMPLATE_URL}" ]] ]) @@ -139,10 +146,14 @@ pipeline { } } } - stage('Create Tarball-Archive') { + stage('Create Archive') { steps { dir(env.GIT_PATH) { - sh "tar -czvf diplomarbeit.tar.gz diplomarbeit.pdf* spellcheck-results.txt" + if (param.ARCHIVE_FORMAT == 'diplomarbeit.zip') { + sh "zip -q diplomarbeit.zip diplomarbeit.pdf* spellcheck-results.txt" + } else { + sh "tar -czf diplomarbeit.tar.gz diplomarbeit.pdf* spellcheck-results.txt" + } } } } @@ -167,7 +178,7 @@ pipeline { } } dir(env.GIT_PATH) { - emailext attachmentsPattern: "diplomarbeit.tar.gz", + emailext attachmentsPattern: "${param.ARCHIVE_FORMAT}", to: "${env.RECIPIENTS}", subject: "[${currentBuild.currentResult}] Diplomarbeit Build #${env.BUILD_NUMBER}", body: "Job ${env.JOB_NAME}: ${env.JOB_URL}" diff --git a/README.md b/README.md index 6c81b9d..e01a784 100644 --- a/README.md +++ b/README.md @@ -284,7 +284,10 @@ Sollten Sie die notwendigen Tools (pandoc, LaTeX, etc.) nicht lokal installieren Öffnen Sie dazu den [Jenkins-Job](https://itsp.htl-leoben.at/ci/job/HTLLE-Diplomarbeit/build?delay=0sec) und melden Sie sich ggf. mit Ihren Benutzerdaten (z.B.: `1911wit00`) an. -Für `REPOSITORY` tragen Sie bitte Ihre Repository-URL (z.B: `https://itsp.htl-leoben.at/git/1911wit00/Diplomarbeit.git`) und für `GIT_PATH` ggf. den Unterordner in dem sich Ihre Diplomarbeit auf GIT befindet (z.B.: `diplomarbeit/`) ein. Wenn Sie nicht wissen was in GIT `branches` sind, brauchen Sie den Parameter `GIT_BRANCH` nicht anpassen. +- `REPOSITORY` Ihre Repository-URL z.B: `https://itsp.htl-leoben.at/git/1911wit00/Diplomarbeit.git` +- `GIT_PATH` Ggf. der Unterordner in dem sich Ihre Diplomarbeit auf GIT befindet z.B.: `diplomarbeit/` +- `GIT_BRANCH` Wenn Sie nicht wissen, was in GIT `branches` sind, brauchen Sie den Parameter nicht anpassen +- `ARCHIVE_FORMAT` Wählen Sie aus, ob die fertige Arbeit als `.zip` oder `.tar.gz` Datei versendet wird Beispiel: `GIT_PATH` ist `"text"` ``` @@ -344,7 +347,7 @@ $ tree ~/Diplomarbeit Es muss nicht einmal die Vorlage als GIT submodule im Repository eingecheckt sein, weil hier während des Build Prozesses die aktuelle verwendet wird. -**Wichtig:** Sie bekommen eine `tar.gz` Datei via E-Mail zugeschickt. Dieses Archiv lässt sich mit gängigen Tools entpacken (z.B.: [7-zip](https://www.7-zip.org/)). Darin befinet sich: +**Wichtig:** Sie bekommen eine Archiv-Datei (`.zip` oder `.tar.gz`) via E-Mail zugeschickt. Dieses Archiv lässt sich mit gängigen Tools entpacken (z.B.: [7-zip](https://www.7-zip.org/)). Darin befinet sich: - `diplomarbeit.pdf` Ihre fertige Diplomarbeit - `diplomarbeit.pdf.log` Der Log Output von pandoc - `spellcheck-results.txt` Die vermeintlich falsch geschriebenen Begriffe