#!/usr/bin/env groovy

env.COMPOSER_HTTP_TIMEOUT = 300;

switch (env.BRANCH_NAME) {
    case 'test': 
        env.NODE_ENV = 'test';
        env.salixHost = env.testSalixHost;
        env.salixPort = env.testSalixPort;
        break;
    case 'master':
        env.NODE_ENV = 'production'
        env.salixHost = env.productionSalixHost;
        env.salixPort = env.productionSalixPort;
        env.DOCKER_HOST = 'tcp://vch1.verdnatura.es:2375';
        break;
}

node {
    stage ('Print environment variables') {
        echo "Branch ${env.BRANCH_NAME}, build number ${env.BUILD_NUMBER}, environment ${env.NODE_ENV}"
    }
    stage ('Checkout') {
        checkout scm
    }
    stage ('Install Node dependencies') {
        nodejs('node-lts') {
            sh "npm install"
            sh "gulp install"
        }
    }
    stage ('Build project') {
        nodejs('node-lts') {
            sh "gulp build"
        }
        
    }
    stage ('Generating new dockers') {
        sh "docker build -t vn-loopback:latest ./services/loopback/"
        sh "docker-compose up -d --build"
        sh "docker image prune -f"
    }
}