Jenkins 自动化服务器 #

什么是Jenkins? #

Jenkins是一个开源的自动化服务器,用于自动化各种任务,包括构建、测试和部署软件。它是目前最流行的CI/CD工具之一,拥有庞大的社区和丰富的插件生态系统。

Jenkins的优势 #

优势 说明
开源免费 完全开源,社区活跃,持续更新
插件生态 1800+插件,支持各种工具和平台
跨平台 支持Windows、Linux、macOS
分布式构建 支持多节点分布式构建
流水线即代码 Pipeline as Code,版本化管理
易于扩展 可编写自定义插件扩展功能

文档结构 #

本指南按以下结构组织,适合初学者按顺序学习:

1. 基础入门 #

主题 描述 文档链接
Jenkins简介 概念介绍、发展历史、应用场景 jenkins-intro.md
Jenkins安装与配置 各平台安装、初始化配置 jenkins-install.md
第一个任务 Hello World、创建第一个Job first-job.md
界面与导航 界面布局、功能导航 interface-navigation.md

2. 任务管理 #

主题 描述 文档链接
任务类型 Freestyle、Pipeline、Multi-configuration job-types.md
自由风格任务 创建配置、构建步骤 freestyle-job.md
任务配置 详细配置选项 job-configuration.md
任务触发器 定时触发、事件触发、远程触发 job-triggers.md
任务参数化 参数定义、参数传递 job-parameters.md

3. 流水线 #

主题 描述 文档链接
流水线基础 Pipeline概念、优势、基本结构 pipeline-basics.md
Declarative语法 声明式Pipeline语法详解 declarative-syntax.md
Scripted语法 脚本式Pipeline语法详解 scripted-syntax.md
流水线步骤 常用步骤、自定义步骤 pipeline-steps.md
多分支流水线 Branch、PR自动发现与构建 multibranch-pipeline.md

4. 构建环境 #

主题 描述 文档链接
环境变量 全局变量、任务变量、注入方式 environment-variables.md
凭据管理 Credentials类型、安全存储 credentials.md
构建工具 Maven、Gradle、npm等配置 build-tools.md
工作空间管理 Workspace、清理策略 workspace-management.md

5. 节点与代理 #

主题 描述 文档链接
节点管理 Master、Agent节点配置 node-management.md
代理配置 SSH、JNLP代理设置 agent-configuration.md
标签与分组 Label使用、节点分组 labels-grouping.md
分布式构建 负载均衡、并行构建 distributed-builds.md

6. 插件系统 #

主题 描述 文档链接
插件管理 安装、更新、卸载插件 plugin-management.md
常用插件 Git、Docker、Kubernetes等 common-plugins.md
插件开发入门 开发环境、基本结构 plugin-development.md

7. 安全管理 #

主题 描述 文档链接
用户与权限 用户管理、权限策略 users-permissions.md
安全配置 全局安全设置、认证授权 security-configuration.md
安全最佳实践 安全加固、审计日志 security-best-practices.md

8. 高级特性 #

主题 描述 文档链接
共享库 Shared Libraries、代码复用 shared-libraries.md
流水线即代码 Jenkinsfile最佳实践 pipeline-as-code.md
性能优化 构建加速、资源优化 performance-optimization.md
备份与恢复 数据备份、灾难恢复 backup-restore.md

9. 实战案例 #

主题 描述 文档链接
Java项目CI/CD Maven构建、测试、部署 java-cicd.md
Node.js项目CI/CD npm/yarn构建、测试、部署 nodejs-cicd.md
Docker集成 镜像构建、推送、部署 docker-integration.md
Kubernetes部署 K8s集群部署、滚动更新 kubernetes-deployment.md

学习建议 #

初学者路线 #

text
基础入门 → 任务管理 → 流水线基础 → 构建环境

进阶路线 #

text
流水线进阶 → 节点与代理 → 插件系统 → 安全管理

高级路线 #

text
高级特性 → 实战案例 → 生产实践

Jenkins架构概览 #

text
┌─────────────────────────────────────────────────────────────┐
│                     Jenkins Master                           │
├─────────────────────────────────────────────────────────────┤
│  ┌─────────┐  ┌─────────┐  ┌─────────┐  ┌─────────┐        │
│  │ Web UI  │  │  REST   │  │  CLI    │  │ 插件管理 │        │
│  │         │  │  API    │  │         │  │         │        │
│  └─────────┘  └─────────┘  └─────────┘  └─────────┘        │
│                                                              │
│  ┌─────────────────────────────────────────────────────┐   │
│  │              任务调度器 (Scheduler)                   │   │
│  └─────────────────────────────────────────────────────┘   │
│                                                              │
│  ┌─────────────────────────────────────────────────────┐   │
│  │              执行器 (Executors)                       │   │
│  │  ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐               │   │
│  │  │Exec 1│ │Exec 2│ │Exec 3│ │Exec 4│               │   │
│  │  └──────┘ └──────┘ └──────┘ └──────┘               │   │
│  └─────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────┘
                            │
              ┌─────────────┼─────────────┐
              ▼             ▼             ▼
        ┌──────────┐  ┌──────────┐  ┌──────────┐
        │  Agent 1 │  │  Agent 2 │  │  Agent 3 │
        │  (Linux) │  │(Windows) │  │  (macOS) │
        └──────────┘  └──────────┘  └──────────┘

Jenkins vs 其他CI/CD工具 #

特性 Jenkins GitHub Actions GitLab CI CircleCI
部署方式 自托管 云托管 云/自托管 云托管
配置方式 Groovy/YAML YAML YAML YAML
插件生态 丰富 中等 中等 有限
学习曲线
免费使用 完全免费 有限额度 有限额度 有限额度
分布式构建 支持 支持 支持 支持

学习资源 #

  • 官方文档:Jenkins User Documentation
  • 插件市场:Jenkins Plugin Index
  • 社区论坛:Jenkins Community
  • 推荐书籍:《Jenkins权威指南》、《Jenkins 2.x实战》

开始学习 #

准备好了吗?让我们从 Jenkins简介 开始你的CI/CD学习之旅!

最后更新:2026-03-28