diff --git a/Jenkinsfile b/Jenkinsfile index aadadd1..3aaf8e5 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: ['zip', '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 @@ -56,6 +63,9 @@ pipeline { // be sure branch is set env.GIT_BRANCH = params.GIT_BRANCH ?: '*/master' + + // output archive filename + env.ARCHIVE_FILENAME = "diplomarbeit." + params.ARCHIVE_FORMAT } } } @@ -81,7 +91,7 @@ pipeline { ]], submoduleCfg: [], userRemoteConfigs: [[ - credentialsId: 'd65d903b-21ee-4055-98aa-ef82a903e287', + credentialsId: "${env.GIT_CRED_ID}", url: "${env.REPOSITORY}" ]] ]) @@ -101,7 +111,7 @@ pipeline { ]], submoduleCfg: [], userRemoteConfigs: [[ - credentialsId: 'd65d903b-21ee-4055-98aa-ef82a903e287', + credentialsId: "${env.GIT_CRED_ID}", url: "${env.TEMPLATE_URL}" ]] ]) @@ -139,10 +149,16 @@ pipeline { } } } - stage('Create Tarball-Archive') { + stage('Create Archive') { steps { dir(env.GIT_PATH) { - sh "tar -czvf diplomarbeit.tar.gz diplomarbeit.pdf* spellcheck-results.txt" + script { + if (params.ARCHIVE_FORMAT == 'zip') { + sh "zip -q ${env.ARCHIVE_FILENAME} diplomarbeit.pdf* spellcheck-results.txt" + } else { + sh "tar -czf ${env.ARCHIVE_FILENAME} diplomarbeit.pdf* spellcheck-results.txt" + } + } } } } @@ -167,7 +183,7 @@ pipeline { } } dir(env.GIT_PATH) { - emailext attachmentsPattern: "diplomarbeit.tar.gz", + emailext attachmentsPattern: "${env.ARCHIVE_FILENAME}", to: "${env.RECIPIENTS}", subject: "[${currentBuild.currentResult}] Diplomarbeit Build #${env.BUILD_NUMBER}", body: "Job ${env.JOB_NAME}: ${env.JOB_URL}" diff --git a/Makefile b/Makefile index 24c5e25..72f2719 100644 --- a/Makefile +++ b/Makefile @@ -74,12 +74,12 @@ do-spellcheck: @echo "Performing a spellcheck on all Markdown files" # Überprüft die staging Dateien auf Rechtschreibfehler - @pandoc "$(STAGINGDIR)"/*.md -t plain | hunspell -d de_AT,de_AT_frami,en_US -p "$(STAGINGDIR)"/ignore.dict -l -t > "$(SPELLERRORFILE)" + @hunspell -d de_AT,de_AT_frami,en_US -p "$(STAGINGDIR)"/ignore.dict -u3 -t "$(STAGINGDIR)"/*.md > "$(SPELLERRORFILE)" # Ausgabe der Rechtschreibfehler @cat "$(SPELLERRORFILE)" | sort | uniq | sed 's/^/ /' - # Spell resultate zuueckkopieren + # Spell resultate zurueckkopieren @rsync -az $(SPELLERRORFILE) $(SOURCEDIR)/ remove-stage: 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