Jenkins之Pipeline流水线

前言

在日常开发中,经常会有发布需求,而且还会遇到各种环境,比如:线上环境、测试环境,开发环境。最简单的就是手动构建、上传服务器,但这种方式太过于繁琐,使用jenkins持续集成可以完美地解决这个问题, Jenkins构建也有很多种方式,现在使用比较多的是自由风格的方式。针对单个项目的简单构建,这种方式已经足够了,但是针对多个类似且又存在差异的项目,就难以满足要求,否则就需要大量的job来支持,这就存在,一个小的变动,就需要修改很多个job的情况,难以维护。

pipeline基本语法介绍

学习一种编程语言最开始的步骤总是学习它的语法,知晓它的规则。但是对于pipeline来说,暂时还不需要深入去学习。

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

stage:表示这个Pipeline的某一个执行阶段(使用stage使得逻辑变得更加简单明了)

steps: 包含一个或者多个在stage块中执行的step序列(在这里执行操作:运行maven或者部署等等)

environment:指定键值对,可用于step中,主要是为常量或者变量赋值,根据所在的位置来决定其作用范围(类似于java中全局和局部的概念)

options:允许执行pipeline内置的专用选项,也可以使用由插件提供的

parameters:提供触发pipeline时的参数列表

trigger:定义了触发pipeline的方式(jenkins1.x中的pollscm定时构建)

tools:自动安装工具,注意这里使用的一定是在jenkins全局配置中已经定义好了的

when:可以用来执行一些代码逻辑

post:可以根据pipeline的状态来执行一些操作

agent是一个代理,来指定一些可用的机器。

  • any : 在任何可用的机器上执行pipeline;

  • none : 当在pipeline顶层使用none时,每个stage需要指定相应的agent;

上一篇
下一篇