40 lines
1.4 KiB
Groovy
40 lines
1.4 KiB
Groovy
pipeline {
|
|
agent any
|
|
environment{
|
|
JWT_SECRET=credentials('JWT_SECRET')
|
|
DATABASE_URL=credentials('DATABASE_URL')
|
|
}
|
|
stages{
|
|
stage('build'){
|
|
steps{
|
|
sh 'npm install'
|
|
sh 'npm run build'
|
|
sh 'mkdir standalone'
|
|
sh 'cp -r public standalone/'
|
|
sh 'cp -r prisma standalone/'
|
|
sh 'cp -r .next/static standalone/.next/'
|
|
sh 'cp -r .next/standalone/** standalone/'
|
|
sh ' tar -cf subman.tar.gz standalone '
|
|
sh 'rm -r standalone'
|
|
}
|
|
}
|
|
stage('deploy'){
|
|
steps{
|
|
sshPublisher(publishers: [sshPublisherDesc(configName: 'Demos', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: 'ssh-uploads/subman/upgrade.sh', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: 'ssh-uploads/subman/', remoteDirectorySDF: false, removePrefix: '', sourceFiles: 'subman.tar.gz')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
|
|
}
|
|
}
|
|
}
|
|
post {
|
|
// Clean after build
|
|
always {
|
|
cleanWs(cleanWhenNotBuilt: true,
|
|
deleteDirs: true,
|
|
disableDeferredWipeout: true,
|
|
// notFailBuild: true,
|
|
cleanWhenSuccess:false,
|
|
patterns: [[pattern: '**/*', type: 'INCLUDE'],
|
|
[pattern: '.propsfile', type: 'EXCLUDE']])
|
|
}
|
|
}
|
|
}
|