Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
staging 1.35 KiB
pipeline {
  agent any
  tools {
        go 'go-1.16'
  }
  stages {
      
    stage('build new dawn-cli') {
        steps {
            git branch: 'main',
                credentialsId: 'tucker-gitlab-login',
                url: 'https://gitlab.cs.umd.edu/dawn/go-backend/dawn-cli'

            sh """
                go build 
                sudo cp dawn-cli /usr/local/bin/dawn-cli
            """
        }
    }

    
    stage('cleanup old images') {
        steps {
            sh '''
                docker rmi $(docker images | grep "dawn/.*-test" | awk '{print $3}') --force || true
                docker rmi $(docker images | grep "<none>" | awk '{print $3}') --force || true
            '''
        }
    }
    
    // stage('cleanup old images') {
    //     steps {
    //         sh '''
    //             docker image prune --filter "until=168h" --filter "label!=latest" || true
    //         '''
    //         sh '''
    //             docker rmi $(docker images | grep 'dev-test') || true
    //         '''
    //     }
    // }

        
    stage('build new dawn-cli image') {
        steps {
            sh '''
                docker build -t dawn/dawn-cli .
            '''
        }
    }

            
    // stage('redeploy') {
    //     steps {
    //         sh """
    //             dawn-cli deploy
    //         """
    //     }
    // }
   
  }
}