76 lines
2.5 KiB
Groovy
76 lines
2.5 KiB
Groovy
pipeline {
|
|
agent { label 'docker-lehrer' }
|
|
|
|
options {
|
|
buildDiscarder(logRotator(artifactNumToKeepStr: '0'))
|
|
skipDefaultCheckout()
|
|
}
|
|
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')
|
|
string(name: 'PATH', defaultValue: '', description: "Pfad zur DA in git (z.B.: dipl/)")
|
|
}
|
|
stages {
|
|
stage('Clean checkout of the template') {
|
|
when {
|
|
expression { '.git' == params.REPOSITORY }
|
|
}
|
|
steps{
|
|
cleanWs()
|
|
checkout scm
|
|
}
|
|
}
|
|
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('Checkout DA') {
|
|
when {
|
|
expression { '.git' != params.REPOSITORY }
|
|
}
|
|
steps {
|
|
cleanWs()
|
|
sh '''
|
|
login_url_sub="https://"${params.USERNAME}":"${params.PASSWORD}"@"
|
|
sub='https;//'
|
|
echo ${login_url_sub}
|
|
git clone --recurse-submodules --remote-submodules $(${params.REPOSITORY}/${sub}/${login_url_sub}) .
|
|
'''
|
|
}
|
|
}
|
|
stage('Build DA') {
|
|
when {
|
|
expression { '.git' != params.REPOSITORY }
|
|
}
|
|
steps {
|
|
sh '''
|
|
cd ${params.PATH}
|
|
make pdf -C HTLLE-DA-Vorlage SOURCEDIR=$(pwd)
|
|
'''
|
|
}
|
|
}
|
|
stage('Test if diplomarbeit.pdf was build') {
|
|
steps {
|
|
sh "test -f diplomarbeit.pdf"
|
|
}
|
|
}
|
|
}
|
|
post {
|
|
always {
|
|
emailext attachLog: true, attachmentsPattern: 'diplomarbeit.pdf*',
|
|
body: "${currentBuild.currentResult}: Job ${env.JOB_NAME} build ${env.BUILD_NUMBER}",
|
|
recipientProviders: [requestor()],
|
|
subject: "Jenkins Diplomarbeit Build ${currentBuild.currentResult}"
|
|
}
|
|
}
|
|
}
|