DevOps(二) Pipline基础语法

一、JenkinsShareLibrary简介

 ShareLibrary就是一个库写的的是groovy文件。目录结构

在这里插入图片描述
调用库方法
在这里插入图片描述

二、Pipline语法

2.1、agent(代理)

 agent指定了流水线执行的节点。参数:any在任何可用的节点上执行Pipline,none没指定agent的时候默认,label在指定的节点上运行Pipline 
agent {node { label "master" //指定运行节点
	              customWorkspace "${workspace}" //运行工作目录}}

2.2、post

 在Jenkins Pipeline中,post 部分用于定义在Pipeline执行完成后要执行的操作。post 部分通常包含针对不同构建结果(例如成功、失败、中止等)的处理步骤。
post {
        success {
            echo '构建成功!'
            // 在这里可以添加其他成功后的操作
        }
        failure {
            echo '构建失败!'
            // 在这里可以添加其他失败后的操作
        }
        aborted {
            echo '构建中止!'
            // 在这里可以添加其他中止后的操作
        }
        always {
            echo '不论构建结果如何,都会执行这里的操作!'
            // 在这里可以添加其他始终执行的操作
        }
    }

2.3、stages(阶段)

 在Jenkins Pipeline中,stages 部分用于定义Pipeline中的各个阶段(Stage),每个阶段可以包含一组相关的构建步骤。包含一个或多个stage指令。
   stages {
        stage('Build') {
            steps {
                // 在这里包含构建步骤
                sh 'echo "构建步骤执行中..."'
            }
        }
        stage('Test') {
            steps {
                // 在这里包含测试步骤
                sh 'echo "测试步骤执行中..."'
            }
        }
        stage('Deploy') {
            steps {
                // 在这里包含部署步骤
                sh 'echo "部署步骤执行中..."'
            }
        }
    }
 stages和stage:
 stages 是一个顶级部分,在Pipeline定义中用来包含所有阶段(stage)。它是一个块(block),用来定义多个阶段的集合。在 stages 块中,可以定义多个 stage,每个 stage 代表一个构建阶段。

2.4、steps(步骤)

 steps 是用于定义某个阶段(stage)中的一组构建步骤的部分。steps 是一个必需的块,它包含了Pipeline中实际执行的命令和操作。
stages {
        stage('Example') {
            steps {
                // 在这里定义构建步骤
                sh 'echo "Hello, World!"'
                sh 'ls -l'
                echo '完成构建步骤!'
            }
        }
    }

2.5、environment

是用于设置构建环境变量的部分。通过 environment块,您可以定义一组环境变量,这些变量将在整个Pipeline执行期间对所有步骤都可见。
environment {
        // 在这里定义环境变量
        MY_VARIABLE = 'hello'
        PATH = '/usr/local/bin'
    }
    
    stages {
        stage('Example') {
            steps {
                // 在这里使用环境变量
                echo "MY_VARIABLE 的值是 ${env.MY_VARIABLE}"
                sh 'echo "环境变量 PATH 的值是 $PATH"'
            }
        }
    }

2.6、options

 options是一个用于定义Pipeline全局选项的部分。options 可以用来配置Pipeline的行为,例如设置超时时间、并行执行、并发构建限制等。
        并发构建限制选项(Concurrent builds limit options):限制同时执行的Pipeline构建数量:
pipeline {
    options {
        throttleConcurrentBuilds(2)
    }
}

2.7、trigger

 "trigger" 通常用于指定触发 Pipeline 执行的条件或事件。这些条件或事件可以是外部触发器,例如 SCM 变更、定时触发器、另一个 Pipeline 的完成等。
        定时触发器:根据指定的时间表或表达式触发 Pipeline 执行:
pipeline {
    triggers {
        cron('H * * * *')
    }
 
}

2.8、tool

 tool 是用于指定在Pipeline执行期间使用的工具(如编译器、构建工具、静态分析工具等)的部分。通过 tool,您可以指定特定的工具版本或安装路径,以确保Pipeline在执行时使用正确的工具版本。
  tools {
        // 指定Maven工具
        maven 'Maven 3.8.3'
        // 指定JDK工具
        jdk 'jdk8'
    }

    stages {
        stage('Build') {
            steps {
                // 在这里使用工具
                sh 'mvn clean install'
            }
        }
    }

2.9、input

 input 是用于暂停 Pipeline 执行并等待用户输入的部分。input 允许您在 Pipeline 执行过程中插入一个交互式的步骤,以等待用户提供某些信息或执行某些操作。
pipeline {
    agent any

    stages {
        stage('Deploy') {
            steps {
                // 在部署阶段之前插入输入步骤
                input "是否要部署到生产环境?"
            }
        }
    }
}

2.10、when

 when 是一个用于根据条件控制步骤执行的部分。when 部分允许您根据指定的条件决定是否执行某个步骤、阶段或者整个 Pipeline。
 stages {
        stage('Build') {
            when {
                branch 'master'
            }
            steps {
                echo '执行构建...'
            }
        }
    }
 除了 branch 条件外,还可以使用其他条件来控制步骤的执行,例如:
 environment:根据环境变量的值来控制步骤的执行。
 expression:根据 Groovy 表达式的计算结果来控制步骤的执行。
 changeRequest:根据变更请求(比如 Pull Request)的类型来控制步骤的执行。
 not:对其他条件的否定

2.11 parallel

 parallel(并行)是用于在不同的 Agent 上并行执行一组步骤的部分。通过 parallel,您可以在同一阶段中同时执行多个步骤,从而加速整个 Pipeline 的执行速度。
    stages {
        stage('Parallel Steps') {
            parallel {
                stage('Step A') {
                    steps {
                        echo '执行步骤 A...'
                        sh 'sleep 5' // 模拟耗时操作
                        echo '步骤 A 完成!'
                    }
                }
                stage('Step B') {
                    steps {
                        echo '执行步骤 B...'
                        sh 'sleep 5' // 模拟耗时操作
                        echo '步骤 B 完成!'
                    }
                }
            }
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值