ci: implements jenkins deploy

This commit is contained in:
2026-02-21 10:44:49 +01:00
parent 5a26b299f2
commit 4e72e6da77
3 changed files with 108 additions and 1 deletions

74
Jenkinsfile vendored Normal file
View File

@@ -0,0 +1,74 @@
pipeline {
agent any
environment {
REGISTRY_URL = "registry.pablotj.com"
USER = "andromeda"
PASS = credentials('docker-registry-password')
}
stages {
stage('Prepare Workspace & Checkout') {
steps {
echo "Cleaning workspace"
deleteDir()
}
}
stage('Checkout') {
steps {
echo "Checking out repo..."
checkout scm
}
}
stage('Load Environment') {
steps {
echo "Loading .env secret from Jenkins..."
withCredentials([file(credentialsId: 'env', variable: 'SECRET_ENV')]) {
sh 'cp $SECRET_ENV .env'
}
}
}
stage('Build and Tag Docker Image') {
steps {
echo "Building Docker image..."
sh '''
make build
make tag
'''
}
}
stage('ush Docker Image') {
steps {
echo "Tagging and pushing Docker image to registry..."
sh '''
echo $PASS | docker login ${REGISTRY_URL} -u ${USER} --password-stdin
make push
'''
}
}
stage('Deploy Docker Container') {
steps {
echo "Stopping old container and running new container..."
sh '''
make stop
make run
'''
}
}
}
post {
success {
echo "✅ Deployment completed successfully!"
}
failure {
echo "❌ Pipeline failed!"
}
}
}