1.Jenkins学习随笔1 (pipeline入门)

一、相关概念说明

1. pipeline

  • pipeline 是指从软件版本控制库到用户手中这一过程的自动化表现形式
  • jenkins 1.0 只能通过手动操作UI来描述部署流水线
  • pipeline是jenkins2.0才开始支持的,可以通过代码来描述部署流水线

2. jenkinsfile

  • jenkinsfile 就是一个文本文件,也就是部署流水线概念在jenkins中的表现形式。就像Dockerfile 之与Docker的关系
  • jenkins 默认不支持JenkinsFile,我们需要安装pipeline的插件
  • 同一个项目中可以按需创建多个jenkinsfile文件

二、pipeline 概述

1. pipeline 支持的语法

jenkins 支持两种语法 脚本式语法声明式语法

noted:

  • jenkins 团队一开始实现jenkinspipeline的时候采用了Groovy语言作为基础来实现的。所以写脚本式pipeline时候很像是写groovy代码。
  • 声明式语法更加符合人的阅读习惯,更简易。声明式语法也是社区推荐的方式
  • 以note 为根节点的是脚本式语法,以pipeline为根节点的是声明式语法

2. 创建第一个pipeline程序

  • (1)创建一个item

1.Jenkins学习随笔1 (pipeline入门)_第1张图片

  • (2)编写脚本
pipeline{
    agent any

    stages {
        stage('hello,world'){
            steps{
                script {
					println "Hello,World!"
                }
            }
        }
    }
}

1.Jenkins学习随笔1 (pipeline入门)_第2张图片

1.Jenkins学习随笔1 (pipeline入门)_第3张图片

三、pipeline的组成

结构 说明
pipeline 代表整条流水线,包含整条流水线的逻辑
stages 代表流水线中一个或多个流水线阶段的容器
stage 代表流水线的阶段。每个阶段必须要有名字
steps 代表阶段中一个或多个具体的步骤的容器
agent 指定流水线执行的位置

noted:

以上每一个部分都是必须的,少一个jenkins都会报错的。

四、pipeline支持的指令

  • environment: 用于设置环境变量
  • tools: 可定义在pipeline 或 stage 部分,会自动下载并安装我们指定的工具,并会设置到环境变量中
  • input: 定义在 stage 部分,会暂停pipeline,提示你输入内容
  • options: 用于配置jenkins pipeline 本身的选项
  • parallel: 并行执行多个step (pipeline 1.2 以后才开始支持)
  • parameters:执行前需要传递的参数
  • triggers:用于定义pipeline的触发器
  • when:当满足定义的条件时,阶段才会执行
  • script: 可以写脚本,其实就是groovy代码,写shell或者groovy都是支持的

note:

每个指令都有自己的作用域,如果指令适用的位置不对,会报错

五、pipeline 内置的基础步骤

文件目录相关操作

dir: 切换目录

dir("/var/logs"){
    
}

deleteDir: 是一个无参步骤,删除的是当前工作目录。通常它的dir步骤一起作用,用于删除指定目录下的内容

dir("/var/logs"){
    deleteDir()
}

fileExists: 判断文件是否存在

如果参数是相对路径,默认为workspace目录下

IsUnix: 判断是否为类UNIX系统

如果当前pipeline 运行在一个类UNIX的系统上,会返回为true

pwd:确认当前目录

返回当前目录

你可能感兴趣的:(1.Jenkins学习随笔1 (pipeline入门))