• linux系统Jenkins工具流水线项目发布


    pipline语法介绍

    声明式的pipeline语法格式
    1. 所有的声明都必须包含在pipeline{}中
    2. 块只能有节段,指令,步骤或者赋值语句组成
    3. 阶段:agent,stages,post,steps
    4. 指令:environment,options,parameters,triggers,stage,input,tool,when
    
    • 1
    • 2
    • 3
    • 4
    • 5
    阶段
    agent: 该指令用于指定构建代理的配置。agent any 表示在任何可用的构建代理上执行流水线。可以使用其他选项如 agent none(不在任何代理上执行)、agent {label 'label-name'}(在具有特定标签的代理上执行)等。
    # jenkins 添加节点 
    
    stages: stages 指令用于定义流水线中的阶段。阶段是流水线的主要分组单元,用于将构建过程分解为不同的步骤。每个阶段可以包含一个或多个步骤。
    
    steps: steps 指令用于定义流水线中某个阶段的步骤。步骤是构建过程中的具体操作,可以是 shell 脚本、构建命令、插件调用等。
    
    post: post 指令用于定义在所有阶段完成后执行的操作。可以使用不同的条件来指定执行操作的时机,如 always(无论构建结果如何始终执行)、success(仅在构建成功时执行)等。在 post 指令内部,可以定义多个操作,如发送电子邮件通知、触发其他构建等。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    指令
    environment: environment 指令用于定义流水线中的环境变量。可以在流水线的任何阶段或步骤中使用这些环境变量。它们可以用于存储和传递配置信息、凭据、版本号等。
    
    options: options 指令用于定义全局选项和配置。可以使用不同的选项来控制流水线的行为,如超时设置、并行执行、跳过失败的阶段等。
    
    parameters: parameters 指令用于定义流水线的参数。参数可以用于接收用户输入,从而自定义构建过程。可以定义不同类型的参数,如字符串、布尔值、选择列表等。
    
    triggers: triggers 指令用于定义触发流水线执行的条件或事件。可以使用不同的触发器来实现自动触发流水线,如定时触发、代码推送触发、其他流水线完成触发等。
    
    stage: stage 指令用于定义流水线中的阶段。阶段是流水线的主要分组单元,用于将构建过程分解为不同的步骤。每个阶段可以包含一个或多个步骤。
    
    input: input 指令用于在流水线的执行过程中暂停并等待用户输入。可以定义一个或多个输入步骤,以便用户提供必要的确认或参数输入,然后流水线继续执行。
    
    tool: tool 指令用于在流水线中配置和使用工具。可以指定使用特定版本的构建工具、测试工具等。
    
    when: when 指令用于根据条件来控制流水线中某个步骤或阶段的执行。可以使用不同的条件表达式来判断是否执行特定的步骤或阶段,如构建参数的值、环境变量的状态等。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    创建流水线项目

    在这里插入图片描述
    在这里插入图片描述

    流水线脚本

    基础框架
    pipeline {
        agent any
        
        stages{
            stage("阶段一"){
                steps{
                    echo "拉取代码"
                    echo "代码拉取完成"
                }
            }
            stage("阶段二"){
                steps{
                    echo "代码打包"
                    echo "打包完成"
                }
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    使用 agent any 指定在任何可用的代理上运行流水线。
    使用 options 指令设置了超时时间和禁用并发构建。
    使用 parameters 指令定义了两个参数,用于接收目标环境和是否运行测试的用户输入。
    使用 triggers 指令设置了每天午夜触发和上游流水线成功触发的条件。
    使用 stages 指令定义了几个阶段,包括代码检出、构建、测试和部署。
    使用 when 指令在测试和部署阶段根据条件进行了控制。
    使用 post 指令定义了 always 块,在流水线执行结束后发送电子邮件通知构建状态,并附带构建日志。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    pipeline:代表整条流水线,包含整条流水线的逻辑
    agent:指定流水线的执行器 (在节点上)和工作区
    stages:封装了用于定义流水线主体和逻辑的所有单个阶段定义
    
    - 至少包含一个stage
      stage:代表流水线的阶段,每个阶段都必须有名称
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
  • 相关阅读:
    迈向未来:Web3 技术开发的无限可能
    一篇弄懂二分算法
    Object构造函数的方法
    剑指JUC原理-19.线程安全集合
    Leetcode 63.不同路径Ⅱ
    理解ASP.NET Core - 基于JwtBearer的身份认证(Authentication)
    商人宝:选择服装店收银系统源码需要注意的三个关键点
    防火墙规则顺序解决方案
    计算机毕业设计(附源码)python综合众筹网站
    SPark学习笔记:09SparkSQL 数据源之文件和JDBC
  • 原文地址:https://blog.csdn.net/qq_59207739/article/details/136415051