From 8a97ad980d8ff7d4264daadccde6fdb55a82074a Mon Sep 17 00:00:00 2001 From: Timo Hocker Date: Fri, 20 Dec 2019 13:27:02 +0100 Subject: [PATCH] add jenkins files --- Jenkinsfile | 46 ++++++++++++++++++++++++++++++++++++++++++++++ jenkins.js | 5 +++++ 2 files changed, 51 insertions(+) create mode 100644 Jenkinsfile create mode 100644 jenkins.js diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..84f1663 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,46 @@ +pipeline { + agent any + + environment { + VERSION = VersionNumber([ + versionNumberString: + '${BUILDS_ALL_TIME}', + versionPrefix: '1.0.', + 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" + } + } + } + } +} diff --git a/jenkins.js b/jenkins.js new file mode 100644 index 0000000..78f16c5 --- /dev/null +++ b/jenkins.js @@ -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))