Jenkinsfile + Pipeline

type
status
date
slug
summary
tags
category
icon
password

一、Pipeline 概述

  • Pipeline:Jenkins 提供的流水线(Pipeline as Code),通过脚本定义构建、测试、部署等步骤。
  • 优点
    • 构建流程可版本化(存放在 Git 仓库里)
    • 易维护、易扩展
    • 支持参数化、条件化、并行等高级特性

两种语法

  1. Scripted Pipeline(Groovy 脚本风格)
  1. Declarative Pipeline(推荐,语法更简洁,结构清晰)

二、Jenkinsfile 基本结构

Declarative Pipeline 的基本框架:

三、常用指令说明

  • agent:定义在哪个节点执行(any / node('label')
  • tools:声明使用的 JDK、Maven 等工具(需在 Jenkins 全局配置)
  • environment:设置全局变量(如路径、服务器信息)
  • parameters:支持参数化构建(分支选择、项目类型、环境变量)
  • stages:构建的各个阶段(Checkout / Build / Deploy)
  • when:条件执行(例如仅在分支为 main 时部署)
  • post:收尾逻辑(成功/失败通知、清理环境)

四、Pipeline 实践流程

1. 代码检出

2. 构建(Maven)

3. 部署 Tomcat 项目

4. 部署 Spring Boot(蓝绿发布)


五、回滚机制

  • Tomcat:重新部署上一个 WAR 包
  • Spring Boot 蓝绿发布:只需切换 active 文件,重启服务即可

六、最佳实践总结

  1. 代码即流水线:把 Jenkinsfile 存放在 Git 仓库根目录
  1. 参数化构建:避免硬编码(分支、环境、账号密码用 Credentials)
  1. 蓝绿/灰度发布:保障服务不中断 & 可快速回滚
  1. 日志与监控:部署后自动检查端口 & 健康检查接口
  1. 通知机制:集成企业微信、钉钉或邮件提醒

Loading...