在现代软件开发中,持续集成(CI)与持续部署(CD)已成为提升效率、保障质量的核心实践。对于 Java 开发者而言,如何高效地将代码从本地自动构建、测试并部署到目标服务器,是每个团队必须面对的挑战。Jenkins 作为开源领域最流行的自动化服务器之一,凭借其灵活的插件生态和强大的 Pipeline 能力,成为实现 Java 项目自动化部署的首选工具。
为什么选择 Jenkins Pipeline?
早期 Jenkins 任务配置主要通过 Web UI,存在不可版本化、难以复用、缺乏灵活性等问题。Pipeline as Code 理念通过编写 Jenkinsfile,将 CI/CD 流程以代码形式定义并与源代码一同存储,带来显著优势:所有构建逻辑可追溯、可回滚;支持共享库实现逻辑复用;声明式语法结构清晰;支持脚本化逻辑满足复杂场景。
💡 提示:Jenkins Pipeline 支持两种语法:声明式(Declarative) 和 脚本化(Scripted)。本文主要使用更易上手、结构更清晰的声明式语法。
环境准备
推荐使用 Docker 快速启动 Jenkins 实例。创建数据卷并运行容器,暴露 8080 和 50000 端口。启动后访问 localhost:8080 完成初始化。需安装 Pipeline、Git、Maven Integration、Docker Pipeline 等关键插件。
# 创建 Jenkins 数据卷(持久化配置)
docker volume create jenkins-data
# 启动 Jenkins 容器
docker run -d \
--name jenkins \
-p 8080:8080 \
-p 50000:50000 \
-v jenkins-data:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
jenkins/jenkins:lts-jdk11
示例项目
创建一个极简的 Spring Boot REST API 项目,包含 /api/hello 接口。项目结构如下:
java-pipeline-demo/
├── pom.xml
└── src/
└── main/
└── java/
└── com/example/demo/
├── DemoApplication.java
└── HelloController.java
pom.xml 依赖 Spring Boot Starter Web 及 Test。
DemoApplication.java
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}


