pipeline {
    agent any

    stages {
        stage('Build') {
                    steps {
                           sh 'echo "Hello World"'
//                         sh 'CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -o exporter main.go'
                    }
        }
        stage('Test') {
                    steps {
                        /* `make check` returns non-zero on test failures,
                        * using `true` to allow the Pipeline to continue nonetheless
                        */
                        sh 'ls'
                    }
                }
        stage('Deploy') {
                    when {
                      expression {
                        currentBuild.result == null || currentBuild.result == 'SUCCESS'
                        //访问该currentBuild.result变量允许Pipeline确定是否有任何测试失败。在这种情况下，值将是 UNSTABLE。
                      }
                    }
                    steps {
                        sh 'echo ok'
                    }
                }
                //部署可能意味着各种步骤，具体取决于项目或组织的要求，并且可能是从构建的工件发送到Artifactory服务器，将代码推送到生产系统的任何步骤。
                //在Pipeline示例的这个阶段，“构建”和“测试”阶段都已成功执行。实际上，“部署”阶段只能在上一阶段成功完成，否则Pipeline将早退。
    }
}