Jenkins
Jenkins 企业实践:先建立权限与执行隔离,再接入真实项目,最后完成发布和恢复演练。CI(Continuous Integration)为持续集成;CD(Continuous Delivery/Deployment)为持续交付/部署。
| 顺序 | 独立文档 | Hands-on 结果 |
|---|---|---|
| 1 | 架构与生产部署 | 持久化 Controller、0 执行器、受控入口 |
| 2 | Jenkinsfile 与流水线 | Go/Node 测试、失败阻断、环境变量 |
| 3 | Git 与多分支 | 自动发现分支、不可信 PR 隔离 |
| 4 | 用户、权限和凭据 | 最小授权、秘密绑定、短期云身份 |
| 5 | 静态与动态 Agent | SSH 节点、Kubernetes Pod、rootless 构建 |
| 6 | 配置即代码 | JCasC、固定插件、配置晋级 |
| 7 | 共享库 | 固定版本、受限调用、升级回退 |
| 8 | 发布与回退 | 审批、环境锁、摘要部署、故障恢复 |
| 9 | 备份、升级与排障 | 加密备份、隔离恢复、版本升级 |
| 10 | 完整项目 | Go/Node → ECR → EKS 预生产 → 审批 → 生产 |
专题:关键插件按权限、代码信任、Agent 隔离和发布并发组织;普通辅助插件不单独成篇。
文档中的 REPLACE 值必须替换为已审核的环境参数;秘密通过受控文件或身份系统提供。完整项目复用已有业务服务,平台和身份前置条件在各篇列明。
常用缩写
| 缩写 | 英文全称/名称 | 中文含义 |
|---|---|---|
| SCM | Source Code Management | 源代码管理 |
| PR | Pull Request | 合并请求 |
| API | Application Programming Interface | 应用程序接口 |
| CLI | Command-Line Interface | 命令行工具 |
| JDK | Java Development Kit | Java 开发工具包 |
| IAM | Identity and Access Management | 身份与访问管理 |
| SA | Service Account | 服务账号 |
| TLS | Transport Layer Security | 传输层安全协议 |
| DNS | Domain Name System | 域名系统 |
| JSON | JavaScript Object Notation | 数据交换格式 |
| YAML | YAML Ain’t Markup Language | 配置序列化格式 |
| SHA | Secure Hash Algorithm | 安全散列算法;用于提交与制品标识 |
| HTTP | Hypertext Transfer Protocol | 超文本传输协议;HTTPS 是其加密传输形式 |