Files
NoteNextra-origin/Jenkinsfile
2025-04-16 10:49:52 -05:00

46 lines
1.5 KiB
Groovy

pipeline {
environment {
registry = "trance0/notenextra"
version = "1.0"
NODE_OPTIONS = "--max-old-space-size=8192"
}
agent any
stages {
stage('Test') {
steps {
nodejs(nodeJSInstallationName: 'NodeJS') {
sh 'npm install'
sh 'npm run build'
}
}
}
stage('Build') {
steps {
script {
echo "Building docker image ${registry}:${version}.${env.BUILD_ID}"
def customImage = docker.build("${registry}:v${version}.${env.BUILD_ID}")
echo "Pushing docker image ${registry}:v${version}.${env.BUILD_ID}"
customImage.push()
}
}
}
stage('Deploy') {
steps {
script {
def imageTag = "${registry}:v${version}.${env.BUILD_ID}"
echo "Deploying docker image ${imageTag}"
echo "Stopping existing container"
sh 'docker stop notenextra-jenkins || true'
echo "Removing existing container"
sh 'docker rm notenextra-jenkins || true'
echo "Running new docker container"
sh "docker run -d -p 13000:3000 --name notenextra-jenkins ${imageTag}"
}
}
}
}
}