WAT-4: Add build/release pipeline
This commit is contained in:
74
Jenkinsfile
vendored
Normal file
74
Jenkinsfile
vendored
Normal file
@@ -0,0 +1,74 @@
|
||||
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+\.){3}', 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()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user