Jenkins Pipeline Parameters可以让用户在运行Jenkins Pipeline时提供一些参数,以便在运行时根据这些参数的值来动态地配置Pipeline。以下是一个Jenkins Pipeline Parameters的示例:

pipeline {
    agent any
    parameters {
        string(name: 'BUILD_VERSION', defaultValue: '1.0', description: 'Version number to build')
        booleanParam(name: 'DEPLOY_TO_PROD', defaultValue: false, description: 'Deploy to production server?')
        choice(name: 'ENVIRONMENT', choices: ['dev', 'qa', 'prod'], description: 'Select environment for deployment')
    }
    stages {
        stage('Build') {
            steps {
                echo "Building version ${params.BUILD_VERSION}"
            }
        }
        stage('Test') {
            steps {
                echo "Running tests on version ${params.BUILD_VERSION}"
            }
        }
        stage('Deploy') {
            when {
                expression { params.DEPLOY_TO_PROD == true }
            }
            steps {
                echo "Deploying to ${params.ENVIRONMENT}"
            }
        }
    }
}

在这个示例中,我们定义了三个参数:

  • BUILD_VERSION:一个字符串类型的参数,用于指定要构建的版本号。如果用户没有提供该参数,则默认为 1.0
  • DEPLOY_TO_PROD:一个布尔类型的参数,用于指示是否要将构建结果部署到生产环境。如果用户没有提供该参数,则默认为 false
  • ENVIRONMENT:一个选择类型的参数,用于指定要部署到的环境。选择项为 devqaprod。如果用户没有提供该参数,则不会有默认值。

在Pipeline的不同阶段中,我们使用了这些参数。例如,在 Build 阶段中,我们使用了 $params.BUILD_VERSION 来打印要构建的版本号。在 Deploy 阶段中,我们使用了 $params.DEPLOY_TO_PROD$params.ENVIRONMENT 来决定是否将构建结果部署到生产环境以及要部署到哪个环境。

当用户运行Pipeline时,他们将被要求提供这些参数的值。用户可以在Jenkins界面中输入这些值,也可以通过Jenkins API来动态地提供这些值。