#!/usr/bin/env groovy

def curCompose = new File('docker-compose.current.yml')

// TODO: We are using latest tag until image rotation it's implemented
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') {
        sh "npm install"
        sh "gulp install"
    }
    stage ('Build project') {
        sh "gulp build"
    }
    stage ('Generating new dockers') {
        sh "docker build -t vn-loopback:latest ./services/loopback/"
        sh "docker-compose up -d --build"
/*
        def curCompose = new File('docker-compose.current.yml')
        if (curCompose.exists()) {
            sh "docker-compose --file docker-compose.current.yml down --rmi all"
        }

        def compose = new File('docker-compose.yml')
        compose.renameTo 'docker-compose.current.new.yml'
*/
    }
}