feat: refs #5144 Migration to kube
gitea/vn-rfid/pipeline/head This commit looks good Details

This commit is contained in:
Guillermo Bonet 2024-06-13 09:04:14 +02:00
parent 11cf68b3ad
commit 16f6d60006
2 changed files with 26 additions and 49 deletions

56
Jenkinsfile vendored
View File

@ -2,64 +2,54 @@
pipeline { pipeline {
agent any agent any
options {
disableConcurrentBuilds()
}
environment { environment {
PROJECT_NAME = 'vn-rfid' PROJECT_NAME = 'vn-rfid'
STACK_NAME = "${env.PROJECT_NAME}-${env.BRANCH_NAME}"
} }
stages { stages {
stage('Checkout') { stage('Setup') {
steps { steps {
script { echo "NODE_NAME: ${env.NODE_NAME}"
switch (env.BRANCH_NAME) { echo "WORKSPACE: ${env.WORKSPACE}"
case 'master':
env.NODE_ENV = 'production'
break
}
}
setEnv()
} }
} }
stage('Build') { stage('Build') {
when { anyOf { when {
branch 'master' branch 'master'
}} }
environment { environment {
CREDENTIALS = credentials('docker-registry') CREDENTIALS = credentials('docker-registry')
} }
steps { steps {
script {
def packageJson = readJSON file: 'package.json'
env.VERSION = packageJson.version
}
dockerBuild() dockerBuild()
} }
} }
stage('Deploy') { stage('Deploy') {
when { anyOf { when {
branch 'master' branch 'master'
}}
environment {
DOCKER_HOST = "${env.SWARM_HOST}"
} }
steps { steps {
sh "docker stack deploy --with-registry-auth --compose-file docker-compose.yml ${env.STACK_NAME}" script {
def packageJson = readJSON file: 'package.json'
env.VERSION = packageJson.version
}
withKubeConfig([
serverUrl: "$KUBERNETES_API",
credentialsId: 'kubernetes',
namespace: 'vn-rfid'
]) {
sh 'kubectl set image deployment/vn-rfid vn-rfid=$REGISTRY/vn-rfid:$VERSION'
}
} }
} }
} }
post { post {
always { always {
script { setEnv()
if (!env.COMMITTER_EMAIL || currentBuild.currentResult == 'SUCCESS') return; sendEmail()
try {
mail(
to: env.COMMITTER_EMAIL,
subject: "Pipeline: ${env.JOB_NAME} (${env.BUILD_NUMBER}): ${currentBuild.currentResult}",
body: "Check status at ${env.BUILD_URL}"
)
} catch (e) {
echo e.toString()
}
}
} }
} }
} }

View File

@ -1,20 +1,7 @@
version: '3.7' version: '3.7'
services: services:
main: main:
image: registry.verdnatura.es/vn-rfid:${BRANCH_NAME:?} image: registry.verdnatura.es/vn-rfid:${VERSION:?}
build: build:
context: . context: .
dockerfile: Dockerfile dockerfile: Dockerfile
ports:
- 8888
configs:
- source: config
target: /app/config.local.yml
deploy:
placement:
constraints:
- node.role == worker
configs:
config:
external: true
name: vn-rfid_config