add jenkins files
This commit is contained in:
parent
a174e49ae9
commit
8a97ad980d
46
Jenkinsfile
vendored
Normal file
46
Jenkinsfile
vendored
Normal file
@ -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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
5
jenkins.js
Normal file
5
jenkins.js
Normal 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))
|
Loading…
x
Reference in New Issue
Block a user