From ad9660ca5f415c6a22593c756065fc72aecb7d49 Mon Sep 17 00:00:00 2001 From: joan Date: Wed, 15 Dec 2021 10:38:32 +0100 Subject: [PATCH] Added jenkinsfile --- Jenkinsfile | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 Jenkinsfile diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..bde1626 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,95 @@ +#!/usr/bin/env groovy + +pipeline { + agent any + options { + disableConcurrentBuilds() + } + environment { + PROJECT_NAME = 'smart-tag' + STACK_NAME = "${env.PROJECT_NAME}-${env.BRANCH_NAME}" + } + stages { + stage('Checkout') { + steps { + script { + switch (env.BRANCH_NAME) { + case 'master': + env.NODE_ENV = 'production' + env.BACK_REPLICAS = 2 + break +/* case 'test': + env.NODE_ENV = 'test' + env.BACK_REPLICAS = 2 + break */ + } + } + + /* configFileProvider([ + configFile(fileId: "salix.groovy", + variable: 'GROOVY_FILE') + ]) { + load env.GROOVY_FILE + } */ + + setEnv() + } + } +/* stage('Install') { + environment { + NODE_ENV = "" + } + steps { + nodejs('node-v14') { + sh 'npm install --no-audit --prefer-offline' + sh 'gulp install --ci' + } + } + } */ +/* stage('Build') { + when { anyOf { + branch 'test' + branch 'master' + }} + environment { + CREDENTIALS = credentials('docker-registry') + } + steps { + nodejs('node-v14') { + sh 'gulp build' + } + + dockerBuild() + } + } */ + stage('Deploy') { + when { anyOf { + // branch 'test' + branch 'master' + }} + environment { + CREDENTIALS = credentials('docker-registry') + DOCKER_HOST = "${env.SWARM_HOST}" + } + steps { + sh "docker stack deploy --with-registry-auth --compose-file docker-compose.yml ${env.STACK_NAME}" + } + } + } + post { + always { + script { + if (!env.COMMITTER_EMAIL || currentBuild.currentResult == 'SUCCESS') return; + 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() + } + } + } + } +}