add jenkins
This commit is contained in:
parent
dc6229af49
commit
09fcdeac63
23
Jenkinsfile
vendored
Normal file
23
Jenkinsfile
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
pipeline {
|
||||||
|
agent any
|
||||||
|
|
||||||
|
environment {
|
||||||
|
VERSION = VersionNumber([
|
||||||
|
versionNumberString:
|
||||||
|
'${BUILDS_ALL_TIME}',
|
||||||
|
versionPrefix: '1.0.',
|
||||||
|
worstResultForIncrement: 'SUCCESS'
|
||||||
|
])
|
||||||
|
}
|
||||||
|
|
||||||
|
stages {
|
||||||
|
stage('Building') {
|
||||||
|
steps {
|
||||||
|
script {
|
||||||
|
currentBuild.displayName = env.VERSION
|
||||||
|
}
|
||||||
|
sh 'yarn ci ${VERSION}'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
26
jenkins.js
Normal file
26
jenkins.js
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
/* eslint-disable no-process-exit */
|
||||||
|
/* eslint-disable no-console */
|
||||||
|
/* eslint-disable no-sync */
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
const fs = require ('fs');
|
||||||
|
const child_process = require ('child_process');
|
||||||
|
|
||||||
|
const pkg = JSON.parse (fs.readFileSync ('package.json', 'utf-8'));
|
||||||
|
[
|
||||||
|
,, pkg.version
|
||||||
|
] = process.argv;
|
||||||
|
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'); }
|
||||||
|
});
|
@ -10,11 +10,12 @@
|
|||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"lint": "eslint .",
|
"lint": "eslint .",
|
||||||
"test": "echo \"no test\""
|
"test": "echo \"no test\"",
|
||||||
|
"ci": "yarn && node jenkins.js"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@scode/consts": "^1.0.1",
|
"@scode/consts": "^1.0.1",
|
||||||
"@scode/crypto-helper": "^1.0.2",
|
"@scode/crypto-helper": "^1.0.2",
|
||||||
"node-fetch": "^2.6.0"
|
"node-fetch": "^2.6.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user