updating jenkins template

This commit is contained in:
Timo Hocker 2020-02-06 18:04:52 +01:00
parent f498d840f3
commit e8cb474527
3 changed files with 25 additions and 22 deletions

View File

@ -14,11 +14,11 @@ pipeline {
stages { stages {
stage('Setup') { stage('Setup') {
steps { steps {
echo 'Setting up test environment'
sh 'echo setup'
script { script {
currentBuild.displayName = env.VERSION currentBuild.displayName = env.VERSION
} }
echo 'Setting up test environment'
sh 'echo setup'
} }
} }
} }

View File

@ -3,37 +3,20 @@ pipeline {
environment { environment {
VERSION = VersionNumber([ VERSION = VersionNumber([
versionNumberString: versionNumberString:
'${BUILDS_ALL_TIME}', '${BUILDS_ALL_TIME}',
versionPrefix: '1.0.', versionPrefix: '1.0.',
worstResultForIncrement: 'SUCCESS' worstResultForIncrement: 'SUCCESS'
]) ])
publish = 0
} }
stages { stages {
stage('Setup') { stage('Building') {
steps { steps {
echo 'Setting up test environment'
sh 'npm ci'
sh 'nodejs jenkins.js ${VERSION}'
script { script {
currentBuild.displayName = env.VERSION currentBuild.displayName = env.VERSION
} }
} sh 'yarn ci ${VERSION}'
}
}
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"
}
} }
} }
} }

View File

@ -1,7 +1,27 @@
/* eslint-disable no-process-exit */
/* eslint-disable no-console */
/* eslint-disable no-sync */
'use strict';
const fs = require ('fs'); const fs = require ('fs');
const child_process = require ('child_process');
const pkg = JSON.parse (fs.readFileSync ('package.json', 'utf-8')); const pkg = JSON.parse (fs.readFileSync ('package.json', 'utf-8'));
[ [
,, pkg.version ,, pkg.version
] = process.argv; ] = process.argv;
fs.writeFileSync ('package.json', JSON.stringify (pkg, null, 2)); fs.writeFileSync ('package.json', JSON.stringify (pkg, null, 2));
child_process.execSync ('yarn lint', { stdio: 'inherit' });
if (typeof pkg.scripts !=='undefined' && typeof pkg.scripts.test === 'string')
child_process.execSync ('yarn test', { stdio: 'inherit' });
child_process.exec ('git log -1 | grep \'\\[no publish\\]\'')
.addListener ('exit', (code) => {
if (code === 0) {
console.log ('build not marked for deployment');
process.exit (1);
}
else
child_process.execSync ('yarn publish');
});