Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
dev 1.30 KiB
pipeline {
    agent { label 'node3' }
    tools {
        go 'go-1.16'
    }
    stages {
        stage('notify') {
            steps {
                script {
                    slack_send_start()
                }
            }
        }

        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('build new dawn-cli image') {
            steps {
                sh '''
                docker build -t dawn/dawn-cli .
            '''
            }
        }
    }

    post {
        success {
            script {
                slack_send_success()
            }
        }
        failure {
            script {
                slack_send_failure()
            }
        }
    }
}