#!/usr/bin/env groovy pipeline { agent any options { disableConcurrentBuilds() } environment { PROJECT_NAME = 'salix-frontend' 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 = 4 // 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 @quasar/cli' sh 'npm install --no-audit --prefer-offline' } } } stage('Test') { when { not { anyOf { branch 'test' branch 'master' }}} environment { NODE_ENV = "" } parallel { stage('Frontend') { steps { nodejs('node-v14') { sh 'npm run test:unit:ci' } } } // stage('Backend') { // steps { // nodejs('node-v14') { // sh 'gulp launchBackTest --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 { // DOCKER_HOST = "${env.SWARM_HOST}" // } // steps { // sh "docker stack deploy --with-registry-auth --compose-file docker-compose.yml ${env.STACK_NAME}" // } // } // stage('Database') { // when { anyOf { // branch 'test' // branch 'master' // }} // steps { // configFileProvider([ // configFile(fileId: "config.${env.NODE_ENV}.ini", // variable: 'MYSQL_CONFIG') // ]) { // sh 'cp "$MYSQL_CONFIG" db/config.$NODE_ENV.ini' // } // sh 'db/import-changes.sh -f $NODE_ENV' // } // } } post { always { script { if (!['master', 'test'].contains(env.BRANCH_NAME)) { try { junit 'junitresults.xml' junit 'junit.xml' } catch (e) { echo e.toString() } } // 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() // } } } } }