jenkins pipeline使用方式

pipeline 使用

使用groovy的一种DSL语言,流程控制 pipeline脚本同其他脚本语言一样,从上到下顺序执行,它的流程控制取决于Groovy表达式,为jenkins用户提供了更巨大的灵活性和可扩展性,本章内容围绕 devops [持续交付实践] pipeline

 

1.使用声明式写法

agent : 该agent部分指定整个Pipeline或特定阶段将在jenkins环境中执行的位置,具体取决于该agent部分的放置位置。该部分必须在pipeline块内的顶层定义。但stage级使用是可选的

  1):any、none、指定slave

    any 在任何可用的agent 上执行Pipeline或stage

              none 当在pipeline块的顶层使用none时,将不会为整个Pipeline运行分配全局agent ,每个stage部分将需要包含其自己的agent

              label 使用提供的label标签,在Jenkins环境中可用的代理上执行Pipeline或stage。例如:agent { label 'my-defined-label' } 

parameters:配置部署之前参数。

  1):string、password、choice

def name="test1"
def test2(name1){
  println name1
if(name1 == "test3"){
    println "the is a test name1 is ${name}"
}else{
    println "the not is name1 the is ${name}"
    }

}
pipeline { agent any
  

    parameters {
       string(name: 'username', defaultValue: 'guozh10', description: 'username ')
        password(name: 'password', defaultValue: 'password', description: 'password')

         choice(name: 'ENV_TYPE', choices: editionName, description: 'test means test env,….')
    }

    stages {
        stage('Non-parallel Stage') {
            steps {
                echo 'This stage will be executed first.'
            }
        }
        stage('parakked Stage') {
            when {
                branch 'master'
            }
            parallel {
                stage('Branch A') {
                    agent {
                        label "for-branch-a"
                    }
                    steps {
                        echo "On Branch A"
                    }
                
                }
                stage('Branch B') {
                    agent {
                        label "for-branch-b"
                    }
                    steps {
                        echo "On Branch B"
                    }
                }
            }
        }
    }
}

 

脚本式

node ("master"){
	stage('Example') {
		try {
			sh 'exit 1'
		}
		catch (exc) {
			echo 'Something failed, I should sound the klaxons!'
			throw
		}
	}
}
node("slave01") {
	stage('Example') {
		try {
			sh 'exit 1'
		}
		catch (exc) {
			echo 'Something failed, I should sound the klaxons!'
			throw
		}
	}
}

  

 

转载于:https://www.cnblogs.com/zhenhui/p/11162537.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值