4. 环境准备与基础搭建:开发环境配置、依赖安装、版本控制仓库初始化
本章聚焦于搭建一套可复现的本地开发与实验环境,为后续变更冻结闸口逻辑开发、Runbook 脚本编写以及 CI/CD 流水线集成奠定基础。我们将依次完成:开发工具链安装、核心依赖管理、Python 虚拟环境配置、以及 Git 仓库的标准化初始化。
4.1 开发环境配置清单
以下表格列出了本课程实验环境所需的软件及其推荐版本。请确保所有工具已正确安装并加入系统 PATH。
| 组件 | 推荐版本 | 用途说明 |
|---|---|---|
| 操作系统 | Ubuntu 22.04 LTS / macOS 14+ | 兼容 Linux 与 macOS 环境,Windows 建议使用 WSL2 |
| Python | 3.11.x | 闸口引擎与 Runbook 脚本主要开发语言 |
| Git | 2.40+ | 版本控制与仓库初始化 |
| Docker | 24.0+ | 本地服务容器化(可选,用于模拟生产环境) |
| Make | 4.3+ | 任务编排与自动化脚本入口 |
| pip | 23.0+ | Python 包管理工具 |
| virtualenv / venv | 内置 | Python 虚拟环境隔离 |
提示: 若使用 macOS,建议通过 Homebrew 安装 Python 与 Git;Linux 用户请使用系统包管理器(apt/yum)获取最新稳定版本。安装完成后,在终端执行
python3 --version 与 git --version 验证。
4.2 依赖安装与虚拟环境配置
为避免项目依赖与系统全局 Python 包冲突,我们强制使用虚拟环境。以下是标准操作步骤:
- 创建项目目录:
mkdir -p ~/projects/freeze-gate-runbook && cd ~/projects/freeze-gate-runbook - 初始化虚拟环境:
python3 -m venv .venv - 激活虚拟环境:
- Linux/macOS:
source .venv/bin/activate - Windows (WSL):
source .venv/bin/activate
- Linux/macOS:
- 升级 pip 与基础工具:
pip install --upgrade pip setuptools wheel - 安装核心依赖:创建
requirements.txt文件,写入以下内容:
# 核心依赖
pyyaml==6.0.1
requests==2.31.0
click==8.1.7
jinja2==3.1.2
pydantic==2.5.0
# 测试与质量
pytest==7.4.3
pytest-cov==4.1.0
flake8==6.1.0
black==23.12.0
# 可选:Runbook 执行与通知
paramiko==3.4.0
slack-sdk==3.27.0
- 执行安装:
pip install -r requirements.txt
注意: 请勿在虚拟环境未激活的状态下执行
pip install,否则依赖会安装到系统全局,导致后续环境不一致。每次打开新终端时,请先执行 source .venv/bin/activate。
4.3 版本控制仓库初始化
一个结构清晰的 Git 仓库是团队协作与自动化闸口的基础。我们采用标准的分支策略与目录布局。
4.3.1 仓库目录结构
在项目根目录下创建以下目录与文件:
freeze-gate-runbook/
├── .gitignore
├── README.md
├── Makefile
├── requirements.txt
├── .venv/ # 虚拟环境(不提交)
├── config/ # 闸口配置与策略文件
│ ├── freeze_policy.yaml
│ └── runbook_definitions.yaml
├── src/ # 核心源码
│ ├── gate_engine/ # 变更冻结闸口引擎
│ ├── runbook_executor/ # Runbook 执行器
│ └── utils/ # 通用工具函数
├── tests/ # 单元测试与集成测试
│ ├── test_gate_engine/
│ └── test_runbook_executor/
├── docs/ # 文档与架构图
└── scripts/ # 辅助脚本(部署、数据迁移等)
4.3.2 Git 初始化与首次提交
- 初始化仓库:
git init - 创建 .gitignore 文件,排除虚拟环境与临时文件:
# Python
__pycache__/
*.py[cod]
*.egg-info/
.venv/
venv/
env/
# IDE
.vscode/
.idea/
# OS
.DS_Store
Thumbs.db
# 日志与临时文件
*.log
*.tmp
- 创建 README.md,简要描述项目目标与快速开始指南。
- 暂存并提交:
git add .
git commit -m "chore: 初始化项目结构与基础依赖"
4.4 环境验证与架构总览
完成上述步骤后,我们通过一张架构图来理解各组件之间的关系,并执行快速验证脚本确保环境就绪。
4.5 快速验证脚本
执行以下命令,确认环境配置无误:
# 1. 确认 Python 版本
python3 --version
# 2. 确认虚拟环境已激活(应显示 .venv)
which python
# 3. 确认核心依赖已安装
pip list | grep -E "pyyaml|requests|click|pydantic"
# 4. 确认 Git 仓库状态
git status
# 5. 运行测试框架验证(确保无报错)
python -m pytest --version
交付物检查: 完成本章后,你应拥有一个已激活的 Python 虚拟环境、一份完整的 requirements.txt 依赖清单、以及一个已初始化并提交了首次 commit 的 Git 仓库。这是后续所有闸口与 Runbook 开发工作的起点。