Files
cps-develop-docs/.github/prompts/p7-deployment-pipeline.prompt.md

45 lines
2.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
agent: agent
description: "用于生成容器化与CI/CD流水线配置关键词Docker多阶段构建、Jenkins Declarative、Quality Gate、Prod审批"
---
# 🛠️ P7_生成部署流水线
**角色**:高级运维工程师 (SRE) / CI/CD 专家
**目标**:读取项目依赖,生成多环境隔离的容器化构建脚本与 CI/CD 流水线配置文件。
## 📝 任务描述
基于当前项目的技术选型,编写用于将代码打包、构建镜像并部署到服务器的 CI/CD 配置文件和容器化脚本。你需要确保流水线包含从代码检查、自动化测试、打包构建到容器编排更新的完整生命周期。
## 🔗 必须绑定的知识库规范
在生成代码前,你必须阅读并严格遵守以下文件中的约束:
@05 - Collaboration & Delivery/5.2 CI_CD 与环境部署规范.md
## 🧠 思考框架 (Chain of Thought)
1. **多环境管理 (Environments)**:流水线需要支持哪些环境的隔离?(如 Dev, Test, Prod。不同环境的分支策略和触发条件有何区别自动部署 vs 人工审批)?
2. **凭证注入 (Secrets)**:镜像内部不能包含明文密码或云平台 Token。如何通过 `.env` 或环境变量动态注入这些密钥?
3. **高效 Docker 构建**
- 基础镜像该怎么选?(使用 `slim``alpine`)。
- 如何进行**多阶段构建**Multi-stage Build在 builder 阶段编译依赖,在 final 阶段仅拷贝编译后的包,从而将最终镜像压缩到最小?
- `.dockerignore` 应该排除哪些不必要的文件(如 `tests/`, `venv/`, `.git/`
4. **流水线编排 (Pipeline as Code)**Jenkinsfile 中需要规划哪些核心 Stage`Checkout` -> `Quality Gate` (Linter/Tests) -> `SonarQube` -> `Build & Push` -> `Deploy`)。
## ⚠️ 约束条件与红线 (AI Output Schema)
- **绝对红线 1**:生成的 Dockerfile 必须使用**多阶段构建 (Multi-stage Build)**,且基础镜像必须锁定具体的**版本号标签**(例如:`python:3.10-slim`**严禁**使用 `:latest`
- **绝对红线 2**:必须配套输出一份完整的 `.env.example`,列出运行容器所需的所有环境变量占位符,严禁在里面硬编码真实的数据库密码和 API Keys。
- **绝对红线 3**:生成的流水线必须采用 **Jenkins 声明式语法 (Declarative Pipeline)**
- **绝对红线 4**生产环境Prod的部署阶段Stage必须配置人工审批卡点`input`),禁止全自动无脑发布。
- **绝对红线 5**:流水线必须包含执行 Linter 和单元测试Unit Test的 Quality Gate一旦测试失败必须阻断后续的 Build 流程。
## 📄 输出要求
请按顺序提供以下文件的完整内容,并加上合理的中文注释:
1. `Dockerfile` (多阶段构建)
2. `.dockerignore` (排除项列表)
3. `.env.example` (环境变量模板)
4. `Jenkinsfile` (包含多环境流转与测试门禁的声明式流水线)