15-Jenkins-Pipeline-声明式流水线语法-agent

Posted 爱学习de测试小白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了15-Jenkins-Pipeline-声明式流水线语法-agent相关的知识,希望对你有一定的参考价值。

目录

前言

简介

sections

agent

参数介绍


前言

  • 本篇开始介绍Pipeline基础语法,一起来学习吧!

简介

  所有有效的声明式流水线必须包含在一个 pipeline 块中, 比如:

pipeline 
    /* 这里写声明式的pipeline代码 */

 在声明式流水线中有效的基本语句和表达式遵循与 Groovy的语法同样的规则, 有以下例外:

  • 流水线顶层必须是一个 block, 也就是: pipeline

  • 没有分号作为语句分隔符,每条语句都必须在自己的行上。

  • 块只能由 节段指令步骤, 或赋值语句组成。 *属性引用语句被视为无参方法调用。 例如, input被视为 input()

sections

  • 声明式流水线中的节段通常包含一个或多个 指令 或 步骤

agent

  • 指定了整个流水线或特定的部分, 将会在Jenkins环境中执行的位置,这取决于 agent 区域的位置。该部分必须在 pipeline 块的顶层被定义, 但是 stage 级别的使用是可选的。

参数介绍

  • any:在任何可用的代理上(节点)执行流水线或阶段。例如: agent any
pipeline 
    agent any
  • none:当在 pipeline 块的顶部没有全局代理, 该参数将会被分配到整个流水线的运行中并且每个 stage 部分都需要包含他自己的 agent 部分。比如: agent none
pipeline 
    agent none
    stages 
        stage('Build')
	    agent 
               // 下面的节点是我自己创建的节点名称
               label 'remote_node1'
            
        
    

 

 label:在提供了标签的 Jenkins 环境中可用的代理上执行流水线或阶段。 例如: agent label 'my-defined-label'

pipeline 
    agent 
       // 具体一个节点label名称
       label 'windows10'
    
  • node:和上面label功能类似,但是node运行其他选项,例如customWorkspace
pipeline 
    agent 
        node 
            // 节点名称
            label 'remote_node1'
            customWorkspace "$env.JOB_NAME/$env.BUILD_NUMBER"
        
    
  • docker和dockerfile两个参数暂时不介绍,后面再一起学习

以上是关于15-Jenkins-Pipeline-声明式流水线语法-agent的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins教程——从安装到部署Docker服务声明式流水线HelloWorld

史上最全 Jenkins Pipeline流水线详解

16-Jenkins-Pipeline-声明式流水线语法-stages/steps/post指令

18-Jenkisn-Pipelin-声明式流水线语法-triggers/stage/tool

Jenkins系列-Pipeline语法全集

17-Jenkins-Pipeline-声明式流水线语法-environment/options/parameters指令