Merge branch 'master' of lcle/HTLLE-DA-Vorlage_Jenkinsfile into master

This commit is contained in:
Günther Hutter 2020-04-27 17:09:51 +00:00 committed by Gitea
commit e7c972bc40
3 changed files with 29 additions and 10 deletions

28
Jenkinsfile vendored
View File

@ -20,8 +20,12 @@ pipeline {
string( string(
name: 'GIT_BRANCH', name: 'GIT_BRANCH',
defaultValue: '*/master', 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 { stages {
@ -32,6 +36,9 @@ pipeline {
// set template values // set template values
env.TEMPLATE_URL = 'https://itsp.htl-leoben.at/git/Hg/HTLLE-DA-Vorlage.git' env.TEMPLATE_URL = 'https://itsp.htl-leoben.at/git/Hg/HTLLE-DA-Vorlage.git'
env.TEMPLATE_NAME = 'HTLLE-DA-Vorlage' 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 // add https to the url if not present
env.REPOSITORY = params.REPOSITORY env.REPOSITORY = params.REPOSITORY
@ -56,6 +63,9 @@ pipeline {
// be sure branch is set // be sure branch is set
env.GIT_BRANCH = params.GIT_BRANCH ?: '*/master' env.GIT_BRANCH = params.GIT_BRANCH ?: '*/master'
// output archive filename
env.ARCHIVE_FILENAME = "diplomarbeit." + params.ARCHIVE_FORMAT
} }
} }
} }
@ -81,7 +91,7 @@ pipeline {
]], ]],
submoduleCfg: [], submoduleCfg: [],
userRemoteConfigs: [[ userRemoteConfigs: [[
credentialsId: 'd65d903b-21ee-4055-98aa-ef82a903e287', credentialsId: "${env.GIT_CRED_ID}",
url: "${env.REPOSITORY}" url: "${env.REPOSITORY}"
]] ]]
]) ])
@ -101,7 +111,7 @@ pipeline {
]], ]],
submoduleCfg: [], submoduleCfg: [],
userRemoteConfigs: [[ userRemoteConfigs: [[
credentialsId: 'd65d903b-21ee-4055-98aa-ef82a903e287', credentialsId: "${env.GIT_CRED_ID}",
url: "${env.TEMPLATE_URL}" url: "${env.TEMPLATE_URL}"
]] ]]
]) ])
@ -139,10 +149,16 @@ pipeline {
} }
} }
} }
stage('Create Tarball-Archive') { stage('Create Archive') {
steps { steps {
dir(env.GIT_PATH) { 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) { dir(env.GIT_PATH) {
emailext attachmentsPattern: "diplomarbeit.tar.gz", emailext attachmentsPattern: "${env.ARCHIVE_FILENAME}",
to: "${env.RECIPIENTS}", to: "${env.RECIPIENTS}",
subject: "[${currentBuild.currentResult}] Diplomarbeit Build #${env.BUILD_NUMBER}", subject: "[${currentBuild.currentResult}] Diplomarbeit Build #${env.BUILD_NUMBER}",
body: "Job ${env.JOB_NAME}: ${env.JOB_URL}" body: "Job ${env.JOB_NAME}: ${env.JOB_URL}"

View File

@ -74,12 +74,12 @@ do-spellcheck:
@echo "Performing a spellcheck on all Markdown files" @echo "Performing a spellcheck on all Markdown files"
# Überprüft die staging Dateien auf Rechtschreibfehler # Ü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 # Ausgabe der Rechtschreibfehler
@cat "$(SPELLERRORFILE)" | sort | uniq | sed 's/^/ /' @cat "$(SPELLERRORFILE)" | sort | uniq | sed 's/^/ /'
# Spell resultate zuueckkopieren # Spell resultate zurueckkopieren
@rsync -az $(SPELLERRORFILE) $(SOURCEDIR)/ @rsync -az $(SPELLERRORFILE) $(SOURCEDIR)/
remove-stage: remove-stage:

View File

@ -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. Ö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"` 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. 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` Ihre fertige Diplomarbeit
- `diplomarbeit.pdf.log` Der Log Output von pandoc - `diplomarbeit.pdf.log` Der Log Output von pandoc
- `spellcheck-results.txt` Die vermeintlich falsch geschriebenen Begriffe - `spellcheck-results.txt` Die vermeintlich falsch geschriebenen Begriffe