温馨提示×

Ubuntu Jenkins如何扩展功能模块

小樊
44
2026-06-30 17:30:36
栏目: 智能运维

Ubuntu 上的 Jenkins 扩展功能模块主要通过 插件(Plugins) 来实现,同时也可以通过 自定义脚本、Agent 节点、共享库、Docker/容器 等方式扩展能力。下面按常见场景给你一个完整说明。


一、通过插件扩展功能(最常用 ✅)

Jenkins 的核心功能非常基础,90% 的功能都来自插件

1️⃣ 在线安装插件(推荐)

方法一:Web UI 安装

  1. 登录 Jenkins
  2. 进入:
    Manage Jenkins → Manage Plugins → Available
    
  3. 搜索需要的插件(如 Git、Docker、Pipeline)
  4. 勾选 → 点击 Install without restart

方法二:CLI 安装(自动化场景)

java -jar jenkins-cli.jar -s http://localhost:8080/ install-plugin git

2️⃣ 常用功能插件推荐

功能 插件
Git 支持 Git Plugin
流水线 Pipeline
声明式流水线 Pipeline: Declarative
Docker Docker Pipeline
凭证管理 Credentials Binding
权限控制 Role-based Authorization Strategy
参数构建 Extended Choice Parameter
通知 Email Extension
Kubernetes Kubernetes Plugin
Blue Ocean UI Blue Ocean

二、通过 Pipeline / Groovy 脚本扩展功能

1️⃣ Jenkinsfile(流水线即代码)

pipeline {
    agent any

    stages {
        stage('Build') {
            steps {
                sh 'make build'
            }
        }
        stage('Test') {
            steps {
                sh 'make test'
            }
        }
    }
}

✅ 可扩展:

  • 多分支
  • 并行执行
  • 条件判断
  • 参数化构建

2️⃣ 共享库(Shared Library)✅ 企业级推荐

复用 Jenkins 逻辑:

@Library('my-shared-lib') _

典型目录结构:

vars/
  buildApp.groovy
  deployApp.groovy

共享库可集中管理:

  • 构建流程
  • 发布规范
  • 工具封装

三、通过 Agent / Node 扩展执行能力

1️⃣ 添加 Jenkins Agent(节点)

适合:

  • 不同 OS
  • 不同架构
  • 不同构建环境

方式:

Manage Jenkins → Manage Nodes and Clouds → New Node

Agent 可运行在:

  • 物理机
  • 虚拟机
  • Docker 容器
  • Kubernetes Pod

2️⃣ Docker Agent 示例

pipeline {
    agent {
        docker {
            image 'node:18'
        }
    }
    stages {
        stage('Build') {
            steps {
                sh 'node --version'
            }
        }
    }
}

✅ 可快速扩展语言/工具环境


四、通过凭证(Credentials)扩展安全能力

Manage Jenkins → Manage Credentials

支持:

  • Git / SSH key
  • Docker Hub
  • Kubernetes kubeconfig
  • 云厂商 API Key

插件配合使用:

  • Credentials Binding Plugin

五、通过 Webhook / API 扩展自动化能力

1️⃣ Git Webhook

  • GitHub / GitLab Push 触发 Jenkins Job
  • 插件:
    • GitHub Integration
    • GitLab Plugin

2️⃣ Jenkins API

curl -X POST http://jenkins:8080/job/myjob/build

六、通过 Ubuntu 系统层面扩展(底层)

1️⃣ 安装工具

sudo apt install docker.io nodejs python3 jenkins-cli

2️⃣ 修改 Jenkins 配置

sudo vi /etc/default/jenkins

常用调整:

  • JVM 内存
  • 监听端口
  • Java 参数

重启:

sudo systemctl restart jenkins

七、通过 Kubernetes 扩展(大规模 ✅)

使用 Kubernetes Plugin

  • 动态创建 Pod
  • 构建完自动销毁
  • 极高弹性

适合:

  • DevOps 平台
  • CI/CD 高并发

八、推荐扩展路线(从入门到企业)

✅ 初级

Git + Pipeline + Credentials

✅ 中级

Shared Library + Docker Agent + Webhook

✅ 高级

Kubernetes Plugin + RBAC + 自定义插件

九、你接下来可以问我的方向

你可以告诉我:

  • ✅ 是 个人项目 还是 企业 Jenkins
  • ✅ 想扩展哪方面(构建 / 部署 / 权限 / 通知 / K8s)
  • ✅ 是否使用 Docker / Kubernetes
  • ✅ Ubuntu 版本 & Jenkins 版本

我可以直接给你 实战配置示例

0