Files
cje-crash-course/exercises/13-advanced-jenkinsfile/solution/solution.md
Benjamin Muschko 248499c8f6 Initial commit
2019-11-17 16:40:48 -07:00

1.0 KiB

Solution

Create the credentials for the CodeCov token.

CodeCov Credentials

You can implement the "Test" stage as follows.

stage('Test') {
    environment {
        CODECOV_TOKEN = credentials('CODECOV_TOKEN')
    }
    steps {
        sh 'go test ./... -coverprofile=coverage.txt'
        sh "curl -s https://codecov.io/bash | bash -s -"
    }
}

You can implement the "Code Analysis" stage as follows.

stage('Code Analysis') {
    steps {
        sh 'curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | bash -s -- -b $GOPATH/bin v1.17.1'
        sh 'golangci-lint run'
    }
}

Create the credentials for the GitHub token.

GitHub Credentials

You can implement the "Release" stage as follows.

stage('Release') {
    when {
        buildingTag()
    }
    environment {
        GITHUB_TOKEN = credentials('GITHUB_TOKEN')
    }
    steps {
        sh 'curl -sL https://git.io/goreleaser | bash'
    }
}