75 lines
1.5 KiB
Groovy
75 lines
1.5 KiB
Groovy
pipeline {
|
|
agent {
|
|
label 'python311 && amd64'
|
|
}
|
|
options {
|
|
disableConcurrentBuilds()
|
|
}
|
|
|
|
tools {nodejs "Node 20"}
|
|
|
|
stages {
|
|
stage('Install Python Virtual Enviroment') {
|
|
steps {
|
|
sh 'python3.11 -m venv env'
|
|
}
|
|
}
|
|
|
|
stage('Install Application Dependencies') {
|
|
steps {
|
|
sh '''
|
|
. env/bin/activate
|
|
pip3.11 install --upgrade pip
|
|
pip3.11 install -r requirements.txt
|
|
corepack enable
|
|
npm install
|
|
deactivate
|
|
'''
|
|
}
|
|
}
|
|
|
|
stage('Build') {
|
|
steps {
|
|
sh 'npm run build'
|
|
}
|
|
}
|
|
|
|
stage('Deploy if tagged') {
|
|
when {
|
|
tag pattern: '\\d+\\.\\d+\\.\\d+', comparator: "REGEXP"
|
|
}
|
|
steps {
|
|
s3Upload profileName: 'Irrsinn.net Buckets',
|
|
userMetadata: [],
|
|
dontWaitForConcurrentBuildCompletion: false,
|
|
dontSetBuildResultOnFailure: false,
|
|
pluginFailureResultConstraint: 'FAILURE',
|
|
consoleLogLevel: 'INFO',
|
|
entries: [[
|
|
bucket: 'plex-watchlist',
|
|
sourceFile:'dist/**',
|
|
managedArtifacts: false,
|
|
keepForever: true,
|
|
noUploadOnFailure: true,
|
|
selectedRegion: 'us-east-1'
|
|
]]
|
|
}
|
|
}
|
|
|
|
}
|
|
post {
|
|
cleanup {
|
|
cleanWs()
|
|
dir("${env.WORKSPACE}@tmp") {
|
|
deleteDir()
|
|
}
|
|
dir("${env.WORKSPACE}@2") {
|
|
deleteDir()
|
|
}
|
|
dir("${env.WORKSPACE}@2@tmp") {
|
|
deleteDir()
|
|
}
|
|
}
|
|
}
|
|
}
|