在 Ubuntu 上的 Jenkins 扩展功能模块主要通过 插件(Plugins) 来实现,同时也可以通过 自定义脚本、Agent 节点、共享库、Docker/容器 等方式扩展能力。下面按常见场景给你一个完整说明。
Jenkins 的核心功能非常基础,90% 的功能都来自插件。
Manage Jenkins → Manage Plugins → Available
java -jar jenkins-cli.jar -s http://localhost:8080/ install-plugin git
| 功能 | 插件 |
|---|---|
| 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 {
agent any
stages {
stage('Build') {
steps {
sh 'make build'
}
}
stage('Test') {
steps {
sh 'make test'
}
}
}
}
✅ 可扩展:
复用 Jenkins 逻辑:
@Library('my-shared-lib') _
典型目录结构:
vars/
buildApp.groovy
deployApp.groovy
共享库可集中管理:
适合:
方式:
Manage Jenkins → Manage Nodes and Clouds → New Node
Agent 可运行在:
pipeline {
agent {
docker {
image 'node:18'
}
}
stages {
stage('Build') {
steps {
sh 'node --version'
}
}
}
}
✅ 可快速扩展语言/工具环境
Manage Jenkins → Manage Credentials
支持:
插件配合使用:
curl -X POST http://jenkins:8080/job/myjob/build
sudo apt install docker.io nodejs python3 jenkins-cli
sudo vi /etc/default/jenkins
常用调整:
重启:
sudo systemctl restart jenkins
使用 Kubernetes Plugin:
适合:
✅ 初级
Git + Pipeline + Credentials
✅ 中级
Shared Library + Docker Agent + Webhook
✅ 高级
Kubernetes Plugin + RBAC + 自定义插件
你可以告诉我:
我可以直接给你 实战配置示例。