Some checks failed
farmcontrol/farmcontrol-api/pipeline/head There was a failure building this commit
91 lines
2.6 KiB
Groovy
91 lines
2.6 KiB
Groovy
pipeline {
|
|
agent {
|
|
label 'ubuntu'
|
|
}
|
|
|
|
environment {
|
|
NODE_ENV = 'production'
|
|
}
|
|
|
|
stages {
|
|
stage('Checkout') {
|
|
steps {
|
|
checkout scm
|
|
}
|
|
}
|
|
|
|
stage('Setup Node.js') {
|
|
steps {
|
|
nodejs(nodeJSInstallationName: 'Node23') {
|
|
sh 'node -v'
|
|
sh 'yarn -v'
|
|
}
|
|
}
|
|
}
|
|
|
|
stage('Install Dependencies') {
|
|
steps {
|
|
nodejs(nodeJSInstallationName: 'Node23') {
|
|
sh 'yarn install --frozen-lockfile --production=false'
|
|
}
|
|
}
|
|
}
|
|
|
|
stage('Run Tests') {
|
|
steps {
|
|
nodejs(nodeJSInstallationName: 'Node23') {
|
|
sh '''
|
|
export NODE_ENV=test
|
|
yarn test
|
|
'''
|
|
}
|
|
}
|
|
post {
|
|
always {
|
|
junit 'test-results.xml'
|
|
}
|
|
}
|
|
}
|
|
|
|
stage('Deploy via SSH') {
|
|
steps {
|
|
sshPublisher(publishers: [
|
|
sshPublisherDesc(
|
|
configName: 'farmcontrol.tombutcher.local',
|
|
transfers: [
|
|
sshTransfer(
|
|
cleanRemote: false,
|
|
excludes: 'node_modules/**',
|
|
execCommand: '''
|
|
cd /opt/farmcontrol-api
|
|
yarn install --production
|
|
pm2 restart ecosystem.config.js --env production || pm2 start ecosystem.config.js --env production
|
|
''',
|
|
execTimeout: 120000,
|
|
flatten: false,
|
|
makeEmptyDirs: false,
|
|
noDefaultExcludes: false,
|
|
patternSeparator: '[, ]+',
|
|
remoteDirectory: 'farmcontrol-api',
|
|
remoteDirectorySDF: false,
|
|
removePrefix: '',
|
|
sourceFiles: '**/*'
|
|
)
|
|
],
|
|
usePromotionTimestamp: false,
|
|
useWorkspaceInPromotion: false,
|
|
verbose: true
|
|
)
|
|
])
|
|
}
|
|
}
|
|
}
|
|
|
|
post {
|
|
always {
|
|
cleanWs()
|
|
}
|
|
}
|
|
}
|
|
|