audioshowkit/Jenkinsfile

79 lines
2.8 KiB
Plaintext
Raw Normal View History

2022-04-17 01:37:34 -05:00
pipeline {
2022-04-16 03:22:01 -05:00
agent any
2022-04-17 01:37:34 -05:00
stages {
2022-04-16 03:22:01 -05:00
stage("install") {
steps {
2022-04-17 21:54:43 -05:00
dir('audioshowkit') {
nodejs('NodeJS (17.4.0)') {
sh "npm install"
}
2022-04-16 03:22:01 -05:00
}
}
}
stage("build") {
steps {
2022-04-17 21:54:43 -05:00
dir('audioshowkit') {
nodejs('NodeJS (17.4.0)') {
sh "npm run build:dev"
}
2022-04-16 03:22:01 -05:00
}
}
}
stage("test") {
steps {
2022-04-17 21:54:43 -05:00
dir('audioshowkit') {
nodejs('NodeJS (17.4.0)') {
sh "npm run test"
}
junit 'junit/*.xml'
2022-04-16 03:22:01 -05:00
}
}
}
2022-04-16 03:36:22 -05:00
stage("archive product") {
steps {
2022-04-17 21:54:43 -05:00
archiveArtifacts artifacts: 'audioshowkit/dist/audioshowkit.js', followSymlinks: false
2022-04-16 03:36:22 -05:00
}
}
2022-04-17 20:47:16 -05:00
stage("publish") {
parallel {
stage("setup showcase") {
stages {
stage("install showcase") {
steps {
2022-04-17 21:54:43 -05:00
dir('showcase') {
2022-04-17 20:47:16 -05:00
nodejs('NodeJS (17.4.0)') {
sh "npm i"
}
}
}
}
stage("build showcase") {
steps {
2022-04-17 21:54:43 -05:00
dir('showcase') {
2022-04-17 20:47:16 -05:00
nodejs('NodeJS (17.4.0)') {
sh "npm run build"
}
}
}
}
stage("deploy showcase") {
steps {
publishHTML([allowMissing: false, alwaysLinkToLastBuild: false, keepAll: false, reportDir: 'showcase/dist', reportFiles: 'index.html', reportName: 'AudioShowKit Demo', reportTitles: ''])
}
}
}
}
2022-04-17 20:47:16 -05:00
stage("generate docs") {
steps {
2022-04-17 21:54:43 -05:00
dir('audioshowkit') {
nodejs('NodeJS (17.4.0)') {
sh "npm run docs"
}
2022-04-17 20:47:16 -05:00
}
2022-04-17 21:55:11 -05:00
publishHTML([allowMissing: false, alwaysLinkToLastBuild: false, keepAll: false, reportDir: 'audioshowkit/docs', reportFiles: 'index.html', reportName: 'AudioShowKit JSDocs', reportTitles: ''])
2022-04-17 20:47:16 -05:00
}
2022-04-16 03:22:01 -05:00
}
}
}
}
}