介绍

Jenkins 是一个 开源的自动化持续集成/持续交付(CI/CD)工具,用来帮助开发团队 自动化构建、测试、部署软件。

🔹 核心作用

  1. 持续集成(CI)
    • 当开发人员提交代码到 GitHub/GitLab/SVN 时,Jenkins 可以自动拉取代码、编译、运行单元测试,快速发现问题。
  2. 持续交付(CD)
    • 在代码构建和测试完成后,Jenkins 可以自动将应用部署到测试环境、预生产环境甚至生产环境,实现“一键上线”。
  3. 任务调度
    • Jenkins 不止能跑构建任务,还可以做一些定时任务,例如每天自动跑测试、定时备份数据库等。

🔹 主要特点

  1. 插件丰富:Jenkins 有上千个插件,可以集成 Git、Maven、Gradle、Docker、Kubernetes、SonarQube 等。
  2. 跨平台:支持 Windows、Linux、macOS,只要有 Java 环境就能跑。
  3. 可视化管理:提供 Web 界面,可以方便地配置流水线任务。
  4. 支持流水线(Pipeline as Code):用 Jenkinsfile(Groovy 语法)来描述构建/部署流程,代码化管理。

🔹 工作流程

  1. 开发提交代码到 Git → 指定分支
  2. Jenkins 触发任务(手动/定时/自动 webhook)→
    • 手动:
      • 找到模块
      • 更新
  3. 拉取代码并执行构建脚本(Maven/Gradle/npm 等)(jenkins会自动拉取代码)→
  4. 执行测试(单元测试、接口测试)→
  5. 构建产物(jar、war、apk 等)→
  6. 部署到测试/生产环境。

总结