Jenkins 是领先的开源自动化服务器,用于构建、测试和部署应用。本技能在需要设置 Jenkins 流水线、配置代理与执行器、管理插件与安全、创建共享库或集成外部工具时使用。
主要能力包括:声明式流水线(在仓库根目录创建 Jenkinsfile,定义环境变量、构建/测试/部署阶段、post 失败邮件通知);脚本式流水线(node 块、try/catch/finally、cleanWs 清理);代理配置(Docker 代理、Kubernetes Pod 代理、标签选择代理);参数化构建(字符串、选项、布尔参数及 when 表达式);凭据管理(credentials 环境变量与 withCredentials 绑定,强调不得将密钥拼入 URL 或参数);并行阶段;共享库(vars/src/resources 结构及自定义步骤)。
使用方式:先准备 Jenkins 2.x+ 服务器、管理员权限、Java 11+ 及基础 Groovy 知识;将 Jenkinsfile 放入源码控制;通过 Jenkins UI 的流水线语法生成器或 jenkins-cli 验证语法;多分支流水线可自动发现含 Jenkinsfile 的分支。插件管理部分列出工作流聚合、Git、Docker 流水线、Kubernetes、凭据绑定、Blue Ocean、Job DSL、配置即代码等常用插件,并提供 JCasC 的 jenkins.yaml 示例。
适用场景:持续集成/持续交付、多环境部署、容器化构建、Kubernetes 代理构建、共享流水线逻辑复用、配置即代码管理 Jenkins。
限制与安全边界:需确认当前 Jenkins 版本支持的 Java 版本与插件兼容性,Java 11 并非普遍现行要求;不信任的 PR 构建应与控制器/管理员凭据及生产代理隔离;privileged docker:dind 属高风险例外配置而非安全默认,应优先使用经审查的隔离构建器;仅靠分支条件不构成部署授权或来源可信证明;凭据应限定到最小可信阶段,绝不将密钥插入 URL/参数或共享日志,并获取部署/通知权限;固定经审查的代理镜像和共享库版本。指导会作用于真实环境,应用前需确认目标、影响范围和回滚计划;未经明确批准不得部署到生产。此文档为仅文档导入,上游脚本与模板未随附。