@Library('postcon.helper')
import postcon.helper.Docker
import postcon.helper.Maven
import postcon.helper.GitMavenTagger

node {
  Docker dockerHelper = new Docker()
  GitMavenTagger tagger = new GitMavenTagger()
  Maven maven = new Maven()
  def mavenVersion
  def scmVars

  stage('deploy') {
    scmVars = checkout scm
    mavenVersion = maven.getVersionFromPOM()
    sh "echo mavenVersion: '$mavenVersion'"
    ArrayList<String> params = []
    params.add('<%= javaName %>_port=<%= portForTesting %>')
    params.add('SPRING_PROFILES_ACTIVE=testing')
    params.add("DOCKER_TAG=${mavenVersion}-${scmVars.GIT_BRANCH}")
    withDockerJtdnv(params) {
      dockerHelper.deployStack('docker-compose.yml', '<%= name %>-test')
    }
    stage('tag') {
      tagger.tagVersion()
    }
    stage('notify') {
      slackSend channel: "#easy-team", color: "good", message: "Application \"Easy-Suite <%= javaName %> (${mavenVersion}-${scmVars.GIT_BRANCH})\" was deployed successfully on Test."
    }
  }
}
