node {

    try{
        def branchName

        stage('Checkout') {
            def scmVars = checkout scm
            branchName = scmVars.GIT_BRANCH
            sh "echo ${branchName}"
        }

        stage('Install Dependencies') {
          sh '/usr/local/bin/composer install'
        }
        stage('Deployment'){
            if(branchName == 'origin/development') {
              sh 'rsync -rvz --exclude=/var/lib/jenkins/workspace/Litterati-PaymentGW/.git /var/lib/jenkins/workspace/Litterati-PaymentGW/ "ubuntu@10.0.7.229:/var/www/html/payment-dev"'
              }
            if(branchName == 'origin/staging') {
              sh 'rsync -rvz --exclude=/var/lib/jenkins/workspace/Litterati-PaymentGW/.git /var/lib/jenkins/workspace/Litterati-PaymentGW/ "ubuntu@10.0.7.174:/var/www/html/payment-stg"'
            }
            if(branchName == 'origin/production') {
              sh 'rsync -rvz --exclude=/var/lib/jenkins/workspace/Litterati-PaymentGW/.git /var/lib/jenkins/workspace/Litterati-PaymentGW/ "ubuntu@10.0.5.9:/var/www/html/payment-prod"'
            }
        }

        stage("BUILD SUCCEED") {
            sh "echo CICD Done"
        }
} catch(e) {
        currentBuild.result = "FAILED"
    } finally {
       notifyBuild(currentBuild.result)
    }
}
def notifyBuild(String buildStatus = 'SUCCESS') {
  // build status of null means successful
  buildStatus = buildStatus ?: 'SUCCESS'
  def subject = "${buildStatus}: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'"
  def summary = "${subject} (${env.BUILD_URL})"
  def details = """<p>${buildStatus}: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]':</p>
    <p>Check console output at &QUOT;<a href='${env.BUILD_URL}'>${env.JOB_NAME} [${env.BUILD_NUMBER}]</a>&QUOT;</p>"""
  if(buildStatus != 'STARTED'){
  emailext (
      subject: subject,
      body: details,
      attachLog: true, compressLog: true,
      recipientProviders: [[$class: 'CulpritsRecipientProvider']],
      to: 'aadvani@csquareonline.com,snarshad@csquareonline.com'
    )
 }
}
