From 519d7520e6d19837a9a0b8b09f857142a7921040 Mon Sep 17 00:00:00 2001 From: Clemens Lauermann Date: Thu, 16 Apr 2020 14:08:44 +0200 Subject: [PATCH] init Jenkinsfile --- Jenkinsfile | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 Jenkinsfile diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..acac2a9 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,72 @@ +pipeline { + agent { label 'docker-lehrer' } + environment { + GIT_COMMIT_AUTHOR = """${sh( + returnStdout: true, + script: 'git show -s --pretty=%an' + )}""" + GIT_COMMIT_COMMENT = """${sh( + returnStdout: true, + script: 'git show -s --format=%s' + )}""" + } + options { + buildDiscarder(logRotator(artifactNumToKeepStr: '0')) + options { checkoutToSubdirectory('HTLLE-DA-Vorlage/') } + } + parameters { + string(name: 'USERNAME', defaultValue: 'Username', description: 'Benutzername') + password(name: 'PASSWORD', defaultValue: '', description: 'Passwort') + string(name: 'REPOSITORY', defaultValue: '.git', description: 'URL Git-Repository DA - default Wert: Baue Vorlage') + string(name: 'BRANCH', defaultValue: 'master', description: 'Branch') + } + stages { + stage('Checkout DA') { + when { + expression { '.git' != params.REPOSITORY } + } + steps { + sh ''' + login_url_sub="https://"$(params.USERNAME)":"$(params.PASSWORD)"@" + sub='https;//' + git clone $($(params.REPOSITORY)/$(sub)/$(login_url_sub)) . + ''' + } + } + stage('Build DA') { + when { + expression { '.git' != params.REPOSITORY } + } + steps { + sh ''' + make pdf -C HTLLE-DA-Vorlage SOURCEDIR=$(pwd) + ''' + } + } + stage('Build only template') { + when { + expression { '.git' == params.Repository } + } + steps { + sh ''' + cp -rv HTLLE-DA-Vorlage/example/* . + make pdf -C HTLLE-DA-Vorlage SOURCEDIR=$(pwd) + ''' + } + } + stage('Test if diplomarbeit.pdf was build') { + steps { + sh "test -f output/diplomarbeit.pdf" + } + } + } + post { + allways { + emailext attachLog: true, attachmentsPattern: 'output/**', + body: "${currentBuild.currentResult}: Job ${env.JOB_NAME} build ${env.BUILD_NUMBER}", + recipientProviders: [requestor()], + subject: "Jenkins Diplomarbeit Build ${currentBuild.currentResult}" + cleanWs() + } + } +}