Jenkins-pipeline语法

本文详细介绍了Jenkins Pipeline的概念、基本语法格式,包括Pipeline的创建、rerun、agent使用,以及post、stages、steps、environment、options、parameters、triggers、tools和input等关键指令的使用方法和示例,帮助读者掌握Jenkins自动化构建流程的配置和管理。
摘要由CSDN通过智能技术生成
Pipeline概念

Pipeline是将一个命令/程序/进程的输出发送到另一个命令/程序/进程,进行进一步处理
Pipeline的代码定义了整个构建过程

基本的Pipeline语法格式

声明式的pipeline语法格式
所有的声明都必须包含在pipeline{}中
块只能有节段,指令,步骤或者赋值语句组成
节段:agent,stages,post,steps
指令:environment,options,parameters,triggers,stage,input,tool,when

pipeline{
   
    agent any
    stages {
   
        stage("build"){
   
           steps{
   
           //TODO
               }
            }
        stage("Test"){
   
           steps{
   
             // TODO
               }
             }
         stage("deploy"){
   
                 steps{
   
                   //TODO
                      } 
               }
          }
       }
创建一个简单的pipeline项目

新建一个item,选择“Pipeline”-》选择“Pipeline script”
输入脚本

pipeline{
   
    agent any
    stages{
   
        stage("build"){
   
            steps{
   
                echo "Build"
            }
        }
        stage("Test"){
   
            steps{
   
                echo "Test"
            }
        }
        stage("Deployment"){
   
            steps{
   
                echo "Deployment"
            }
        }
    }  
}

手动点击“build Now”,可以看到这个pipeline的每个阶段的视图
在这里插入图片描述

rerun pipeline

当pipeline执行完成后,需要执行某一个stage,可以进入到这次build,选择“从指定阶段重新运行”
在这里插入图片描述

agent

指定了整个pipeline或者特定的部分在jenkins中执行的位置比如在哪一个node上执行,agent可以是node,也可以是docker
必须在pipeline的顶层被定义,stage中可选
在pipeline块的顶层被定义,是全局的agent,当全局的agent为none时每个stage可以定义自己的agent

agent参数介绍

agent有以下参数
any-----在任何可用的代理上执行流水线或阶段,agent any
none-----pipeline的顶层没有设置全局的agent,那么每个stage需要设置自己的agent ,agent none
label-----在提供了标签的代理上执行pipeline或者阶段。 agent {label ‘my-defined-label’}
node—在提供的node上执行pipeline或者阶段,agent {node {label ‘my-defined-label’}}
docker----使用指定的容器执行pipeline或者阶段,容器在node或者label上,可以包含args参数,直接传递到docker run,已经alwayspull, 该选项强制docker pull
比如:在名字为“my-defined-label“上使用image “maven:3-alpine”来执行pipeline流水线或者阶段

agent {
   

     docker{
   
        image 'maven:3-alpine'
        label 'my-defined-label'
        agrs '-v /tmp:/tmp'
     }
}

doc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值