pipeline {
  agent any
  tools {
        go 'go-1.16'
  }
  options {
    buildDiscarder logRotator(artifactDaysToKeepStr: '', artifactNumToKeepStr: '5', daysToKeepStr: '', numToKeepStr: '5')
  }
  stages {
      
  stage('checkout') {
        steps {
            git branch: "main",
                credentialsId: 'tucker-gitlab-login',
                url: "https://gitlab.cs.umd.edu/dawn/go-backend/dawn-manager.git"
        }
    }
     
    stage('build') {
      steps {
        sh """
            dawn-cli build-image -p .
        """ 
      }
    }

    stage('update backend services') {
      steps {
        sh '''
            curl -o docker-compose-dev.yml --header "PRIVATE-TOKEN: y2FHtFXMC8X13onnEfiE" "https://gitlab.cs.umd.edu/api/v4/projects/16574/repository/files/docker-compose-dev.yml/raw?ref=main"
            curl -o prometheus.yml --header "PRIVATE-TOKEN: y2FHtFXMC8X13onnEfiE" "https://gitlab.cs.umd.edu/api/v4/projects/16574/repository/files/prometheus.yml/raw?ref=main"
            curl -o prometheus.rules.yml --header "PRIVATE-TOKEN: y2FHtFXMC8X13onnEfiE" "https://gitlab.cs.umd.edu/api/v4/projects/16574/repository/files/prometheus.rules.yml/raw?ref=main"
            curl -o rabbitmq.conf --header "PRIVATE-TOKEN: y2FHtFXMC8X13onnEfiE" "https://gitlab.cs.umd.edu/api/v4/projects/16574/repository/files/rabbitmq.conf/raw?ref=main"
        '''
        sh "dawn-cli update -s dawn-manager"
      }
    }

  }
}
