add Jenkins

This commit is contained in:
Timo Hocker 2019-12-11 12:16:12 +01:00
parent c8c57c8772
commit d53641ea1b
2 changed files with 51 additions and 0 deletions

46
Jenkinsfile vendored Normal file
View File

@ -0,0 +1,46 @@
pipeline {
agent any
environment {
VERSION = VersionNumber([
versionNumberString:
'${BUILDS_ALL_TIME}',
versionPrefix: '1.1.',
worstResultForIncrement: 'SUCCESS'
])
publish = 0
}
stages {
stage('Setup') {
steps {
echo 'Setting up test environment'
sh 'npm ci'
sh 'nodejs jenkins.js ${VERSION}'
script {
currentBuild.displayName = env.VERSION
}
}
}
stage('Testing') {
steps {
echo 'Running tests...'
sh 'npm test'
}
}
}
post {
success {
script {
publish = sh script: "git log -1 | grep '\\[no publish\\]'", returnStatus: true
if (publish != 0) {
echo 'Deploying'
sh 'npm publish'
} else {
echo 'Build successful, Commit not marked for deploying'
currentBuild.result = "UNSTABLE"
}
}
}
}
}

5
jenkins.js Normal file
View File

@ -0,0 +1,5 @@
const fs = require('fs');
const pkg = JSON.parse(fs.readFileSync('package.json', 'utf-8'));
pkg.version = process.argv[2];
fs.writeFileSync('package.json', JSON.stringify(pkg, null, 2));