farmcontrol-ws/Jenkinsfile
Tom Butcher 0ed5eb86dd
Some checks reported warnings
farmcontrol/farmcontrol-ws/pipeline/head This commit is unstable
Added Jenskinsfile.
2025-12-28 23:50:12 +00:00

75 lines
2.2 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('Deploy via SSH') {
steps {
sshPublisher(publishers: [
sshPublisherDesc(
configName: 'farmcontrol.tombutcher.local',
transfers: [
sshTransfer(
cleanRemote: false,
excludes: 'node_modules/**',
execCommand: '''
cd /opt/farmcontrol-ws
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-ws',
remoteDirectorySDF: false,
removePrefix: '',
sourceFiles: '**/*'
)
],
usePromotionTimestamp: false,
useWorkspaceInPromotion: false,
verbose: true
)
])
}
}
}
post {
always {
cleanWs()
}
}
}