首页 > 技术文章 > pipeline中sh使用参数化构建输入的参数

tarzen213 2022-02-09 14:58 原文

摘要:pipeline是参数化构架的,并且想在pipeline中sh命令中使用参数

代码块:

pipeline{
    parameters {
        string defaultValue: 'AMD-desktop', name: 'node_name'
        string defaultValue: 'test_cmd/test_version.py', name: 'feature'
    }
    environment {
        feature = "$params.feature"
    }
    agent { node { label "${params.node_name}" } }

    stages{
        stage("first stage"){
            
            steps("first steps"){
                sh '''
                echo "$feature"
                sleep 1m
                
            '''
            }
        }
    }
    
    post{
        always{
            echo "this is ending..."
        }
    }
}

代码解析:

parameters {
/* 这里参数化 接受两个参数*/ string defaultValue:
'AMD-desktop', name: 'node_name' string defaultValue: 'test_cmd/test_version.py', name: 'feature' } environment {
/* 创建环境变量,只有设置了环境两边各 sh脚本中才能获取到该变量 */ feature
= "$params.feature" }

sh中使用环境变量:

sh '''
   echo "$feature"
                 
   '''

不在sh中使用环境变量:

agent { node { label "${params.node_name}" } }

 

推荐阅读