Jenkins Pipeline Job构建配置_it技术

Jenkins Pipeline Job构建配置_环境变量_02

Jenkins Pipeline Job构建配置_5e_03

Jenkins Pipeline Job构建配置_5e_04Jenkins Pipeline Job构建配置_环境变量_05

1.创建pipeline job任务,新建任务》输入任务名称》选择“流水线”》点击【确定】

Jenkins Pipeline Job构建配置_5e_06

添加描述,This is my first test pipeline job

Jenkins Pipeline Job构建配置_环境变量_07

添加 pipeline脚本,点击【保存】

Jenkins Pipeline Job构建配置_git_08

脚本解释

1. 声明脚本,添加环境变量

Jenkins Pipeline Job构建配置_环境变量_09

2.添加选项参数deploy_env,以及文本参数version

Jenkins Pipeline Job构建配置_5e_10

3.新建stage任务,将定义deploy_env、version参数,传入到test.properties 中

Jenkins Pipeline Job构建配置_it技术_11

4.检查test.properties是否存在内容

Jenkins Pipeline Job构建配置_git_12

5.完整脚本

#!groovy

pipeline {
    agent {node {label 'master'}}

    environment {
        PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin"
    }

    parameters {
        choice(
            choices: 'dev\nprod',
            description: 'choose deploy environment',
            name: 'deploy_env'
            )
        string (name: 'version', defaultValue: '1.0.0', description: 'build version')
    }

    stages {
        stage("Checkout test repo") {
            steps{
                sh 'git config --global http.sslVerify false'
                dir ("${env.WORKSPACE}") {
                    git branch: 'master', credentialsId:"9aa11671-aab9-47c7-a5e1-a4be146bd587", url: 'https://root@gitlab.example.com/root/test-repo.git'
                }
            }
        }
        stage("Print env variable") {
            steps {
                dir ("${env.WORKSPACE}") {
                    sh """
                    echo "[INFO] Print env variable"
                    echo "Current deployment environment is $deploy_env" >> test.properties
                    echo "The build is $version" >> test.properties
                    echo "[INFO] Done..."
                    """
                }
            }
        }
        stage("Check test properties") {
            steps{
                dir ("${env.WORKSPACE}") {
                    sh """
                    echo "[INFO] Check test properties"
                    if [ -s test.properties ]
                    then 
                        cat test.properties
                        echo "[INFO] Done..."
                    else
                        echo "test.properties is empty"
                    fi
                    """

                    echo "[INFO] Build finished..."
                }
            }
        }
    }
}

 

控制台输出

Jenkins Pipeline Job构建配置_it技术_13

Jenkins Pipeline Job构建配置_it技术_14