开源项目运维实践调研报告
报告生成者: Claude Code 生成日期: 2026-03-24 调研项目: AutoResearchClaw, ironclaw, nanobot, NemoClaw, openclaw
目录
概述
本报告对5个开源项目的DevOps/运维实践进行了深入调研,旨在帮助新运维工程师理解不同项目的运维工作内容、优先级和实现方式。
项目简介
| 项目 | 技术栈 | 用途 | 成熟度 |
|---|---|---|---|
| openclaw | TypeScript/Node.js | 多渠道AI网关 | ★★★★★ 最高 |
| ironclaw | Rust | AI代理系统 | ★★★★☆ 很高 |
| NemoClaw | TypeScript/Node + Python | AI代理+插件系统 | ★★★★☆ 很高 |
| nanobot | Python | 简化版代理 | ★★☆☆☆ 基本 |
| AutoResearchClaw | Python | 研究流水线自动化 | ★★☆☆☆ 研究 |
成熟度评估维度
- openclaw: 14个CI工作流、多平台自动化发布、完整的安全扫描、多环境部署支持
- ironclaw: 13个CI工作流、Rust工具链生态完善、自动化发布、GCP部署脚本
- NemoClaw: 7个CI工作流、prek完整栈代码质量、Sphinx文档系统、夜间E2E测试
- nanobot: 1个基础CI工作流、Docker容器化、手动部署
- AutoResearchClaw: 无CI、7个领域专用Dockerfile、本地执行为主
项目分析
1. openclaw - 成熟级运维实践
1.1 CI/CD (最高优先级)
为什么: 开源项目需要自动化测试保证质量、多平台支持扩大用户群、自动化发布提高效率。
实现方式:
| 工作流 | 功能 | 触发条件 |
|---|---|---|
ci.yml | 核心CI流水线(16个并行任务) | Push/PR |
docker-release.yml | 多架构Docker发布 | Tag推送 |
openclaw-npm-release.yml | npm包发布 | Tag推送 |
plugin-npm-release.yml | 插件npm发布 | Tag推送 |
macos-release.yml | macOS应用发布 | Tag推送 |
codeql.yml | CodeQL安全扫描 | PR/Push |
install-smoke.yml | 安装冒烟测试 | Schedule |
sandbox-common-smoke.yml | 沙箱冒烟测试 | Schedule |
workflow-sanity.yml | 工作流自检 | Push |
关键技术:
- 智能CI跳过:仅文档变更跳过重任务
- 测试分片:Linux 2分片、Windows 8分片
- 矩阵构建:amd64/arm64双架构
- Artifact缓存:pnpm store、SwiftPM
- 自定义Actions: setup-node-env, setup-pnpm-store-cache
代码位置: .github/workflows/
1.2 容器化
为什么: 一致的运行环境、跨平台部署、隔离依赖、简化分发。
实现:
Dockerfile (多阶段构建)
├── ext-deps: 安装系统依赖
├── build: 编译TypeScript、生成A2UI bundle
├── runtime-assets: 准备运行时资源
└── runtime: node:24-bookworm + 非root用户安全特性:
- SHA256固定基础镜像
- 非root用户(node, uid 1000)
- OCI元数据标签
- 健康检查端点:
/healthz,/readyz
docker-compose安全配置:
security_opt:
- no-new-privileges:true
cap_drop:
- ALL1.3 部署
为什么: 支持多部署环境、自动化部署减少人为错误、支持弹性扩展。
实现方式:
| 部署目标 | 配置文件 | 说明 |
|---|---|---|
| Fly.io | fly.toml | 云平台部署,2048MB内存,自动扩缩容 |
| Kubernetes | scripts/k8s/ | Kind集群创建和部署脚本 |
| Docker | docker-compose.yml | 本地/开发环境 |
| Podman | scripts/podman/setup.sh | Rootless容器支持 |
Fly.io配置要点:
- 主区域: iad
- 内部端口: 3000
- 强制HTTPS
- 数据卷:
/data - 自动停止/启动节省成本
1.4 监控与可观测性
为什么: 及时发现故障、了解系统健康状态、追踪性能问题。
实现:
| 功能 | 实现方式 |
|---|---|
| 健康检查 | /healthz, /readyz HTTP端点 |
| 通道健康监控 | src/gateway/channel-health-monitor.ts |
| 使用指标UI | src/ui/views/usage-metrics.ts |
| 诊断扩展 | diagnostics-otel扩展 |
1.5 测试
为什么: 保证代码质量、防止回归、多平台兼容性验证。
实现:
- Vitest: Node主测试框架
- Playwright: E2E测试
- Swift Tests: macOS原生测试
- JUnit: Android测试
- V8 Coverage: 70%覆盖率阈值
测试分片策略:
Linux: 2分片 (并行)
Windows: 8分片 (并行)
macOS: 1任务 (顺序)
Android: 并行构建1.6 代码质量
为什么: 统一代码风格、提前发现bug、降低认知负担。
Pre-commit钩子:
| 优先级 | 检查项 | 工具 |
|---|---|---|
| 0 | 文件清理 | trailing-whitespace, fix-byte-end-marker |
| 5 | 格式化 | ruff, prettier, eslint, oxfmt |
| 10 | 静态分析 | shellcheck, hadolint, gitleaks, actionlint |
| 20 | 项目检查 | oxlint, SwiftLint, Python tests |
TypeScript严格模式:
- 禁止
@ts-ignore - 禁止
any - 边界守护检查
- 插件SDK API漂移检测
1.7 安全
为什么: 保护用户数据、防止供应链攻击、符合合规要求。
实现:
| 安全措施 | 工具 | 目的 |
|---|---|---|
| 静态代码分析 | CodeQL | 发现代码漏洞 |
| 工作流审计 | zizmor | GitHub Actions安全审计 |
| 密钥检测 | detect-secrets | 防止密钥泄露 |
| 依赖审计 | pnpm audit | 依赖漏洞扫描 |
| GPG验证 | - | 镜像签名验证 |
| 私钥检测 | - | 防止提交私钥 |
1.8 发布管理
为什么: 自动化发布流程、多平台支持、版本同步。
实现:
Tag推送触发
├── Docker镜像构建 (amd64 + arm64)
├── 推送到GHCR
├── npm包发布 (main + plugins)
├── macOS应用打包 (Sparkle更新)
├── iOS/Android应用打包 (Fastlane)
└── 创建GitHub Release版本同步: 所有平台版本号自动同步
1.9 文档
为什么: 降低上手难度、减少支持成本、保持文档与代码同步。
实现:
- Mintlify: docs.openclaw.ai
- i18n: 中文自动生成
- 配置漂移检测: 检测文档与实际配置差异
- 在线预览: PR时预览文档
2. ironclaw - Rust生态级运维实践
2.1 CI/CD
实现方式:
| 工作流 | 功能 |
|---|---|
test.yml | 综合测试套件 (单元测试、集成测试、WASM、Docker构建) |
code_style.yml | 格式化(rustfmt)、linting(clippy)、依赖审计(cargo-deny) |
coverage.yml | 代码覆盖率,上传Codecov |
e2e.yml | Playwright E2E测试,每周运行 |
release.yml | cargo-dist自动化发布 |
release-plz.yml | 版本管理和变更日志 |
claude-review.yml | Claude AI代码审查 |
Rust特定功能:
- Feature flag矩阵测试
- WASM兼容性测试
- Benchmark编译检查
- Swatinem/rust-cache缓存
- 跨平台 (Linux, Windows)
2.2 容器化
实现:
Dockerfile (多阶段)
├── rust:1.92-slim-bookworm (编译)
├── WASM编译
├── 数据库迁移
└── debian:bookworm-slim (运行时,非root用户)docker-compose:
services:
db:
image: pgvector/pgvector:pg16
healthcheck: pg_isready2.3 部署
GCP部署: deploy/setup.sh
- GCP Compute Engine VM引导脚本
- Cloud SQL Auth Proxy安装
- systemd服务配置
- Artifact Registry认证
systemd服务:
cloud-sql-proxy.service (数据库代理)
ironclaw.service (主应用)2.4 可观测性
实现: src/observability/
- 事件/指标录制模块
- 健康检查端点
- 分析模块:
src/history/analytics.rs
2.5 测试
Coverage策略:
- cargo-llvm-cov
- 多配置测试 (all-features, default, libsql-only)
- PostgreSQL + pgvector集成
- E2E覆盖
- 覆盖率门禁
E2E测试:
- Python/Playwright
- 4组并行测试 (core, features, extensions, routines)
- 每周一运行
2.6 代码质量
工具链:
rustfmt: 格式化检查clippy: Linting with-D warningscargo-deny: 依赖审计 (漏洞、许可、来源)- pre-commit: 版本bump检查
2.7 安全
措施:
cargo-deny: 依赖漏洞扫描- SHA256校验: Cloud SQL Proxy
- GPG密钥验证
scripts/pre-commit-safety.sh
2.8 发布管理
cargo-dist自动化:
- 多平台构建 (Linux, macOS, Windows)
- WASM扩展打包
- SHA256校验和
- 自动GitHub Release
release-plz:
- 自动版本bump
- Changelog生成
- Cargo registry发布
2.9 文档
CLAUDE.md: 开发指南COVERAGE_PLAN.md: 覆盖率追踪docs/plans/: 运维文档
3. NemoClaw - 多语言混合运维实践
3.1 CI/CD
工作流:
| 工作流 | 功能 | 触发 |
|---|---|---|
pr.yaml | PR检查 (lint, 测试, coverage, E2E) | PR |
nightly-e2e.yaml | 夜间完整E2E (NVIDIA API) | 每日0点 |
docs-preview-pr.yaml | 文档预览构建 | PR |
commit-lint.yaml | 提交信息linting | Push |
docker-pin-check.yaml | Docker镜像固定检查 | Push |
pr-limit.yaml | PR频率限制 | PR |
特点:
- 多语言测试 (TypeScript + Python)
- 文档PR预览
- 提交规范强制执行
- 覆盖率门禁
3.2 容器化
Dockerfile:
多阶段构建
├── builder: node:22-slim + Python 3.11.2
├── TypeScript插件编译
├── OpenClaw CLI安装
└── runtime: 非root用户 + Landlock安全安全特性:
- Landlock: 只读
.openclaw - 不可变/可写目录分离
- 自动生成auth token
3.3 部署
脚本:
scripts/backup-workspace.sh: 工作区备份scripts/brev-setup.sh: BREV配置scripts/install.sh: 通用安装scripts/check-coverage-ratchet.sh: 覆盖率验证
3.4 测试
Makefile命令:
make check # 所有pre-commit钩子
make lint # Lint TS + Python
make format # 格式化代码
make docs # 构建Sphinx文档
make docs-live # 实时文档覆盖率:
- Vitest (TypeScript)
- 覆盖率门禁
3.5 代码质量
prek钩子:
| 优先级 | 检查项 |
|---|---|
| 0 | 文件清理 (trailing-whitespace, EOF, etc.) |
| 5 | 格式化 (shfmt, ruff, prettier, eslint) |
| 6 | 格式化后自动修复 |
| 10 | Linter (merge冲突, YAML/TOML验证, private key, shellcheck, had) |
| 10 | 安全 (gitleaks, SPDX header验证) |
| 20 | 测试 (Vitest) |
| pre-push | tsc, pyright |
提交规范:
- Conventional Commits
- PR title linting (squash-merge路径)
3.6 安全
措施:
- gitleaks: 密钥扫描
- SPDX: 许可证头验证
- 私钥检测
- Landlock: 只读配置
- Build arg安全
3.7 文档
- Sphinx文档系统
- 实时文档预览
- 监控文档:
docs/monitoring/ - 部署文档:
docs/deployment/
4. nanobot - 基础级运维实践
4.1 CI/CD
工作流: .github/workflows/ci.yml
- 矩阵测试: Python 3.11, 3.12, 3.13
- uv依赖管理
- pytest全extras测试
4.2 容器ization
Dockerfile:
多阶段构建
├── deps: uv安装依赖
├── source: 复制源码
├── build: 编译WhatsApp桥接 (Node.js 20)
└── runtime: 非root用户docker-compose:
services:
gateway: 端口18790
cli: stdin_open, tty
资源限制: CPU 1, 内存 1G4.3 测试
- pytest
- 矩阵Python版本测试
- 本地执行为主
4.4 文档
- SECURITY.md
特点: 最简化的运维设置,适合小型快速迭代项目
5. AutoResearchClaw - 研究导向型运维实践
5.1 容器化 (核心)
7个Dockerfile:
| Dockerfile | 用途 |
|---|---|
Dockerfile | GPU实验沙箱 (CUDA 12.4.1) |
Dockerfile.biology | 生物学研究 |
Dockerfile.chemistry | 化学研究 |
Dockerfile.economics | 经济学研究 |
Dockerfile.generic | 通用研究 |
Dockerfile.math | 数学 |
Dockerfile.physics | 物理 |
基础镜像: nvidia/cuda:12.4.1-cudnn-devel-ubuntu22.04
预装栈:
- ML: PyTorch, torchvision, torchaudio
- 科学计算: numpy, scipy, pandas, matplotlib
- LLM: transformers, datasets, peft, trl
- RL: Gymnasium
- 数据集: CIFAR-10/100, Fashion-MNIST, MNIST
安全: 非root用户 (researcher)
5.2 监控与指标
实现:
tests/test_rc_health.py: 健康检查searchclaw/dashboard/metrics.py: 指标收集searchclaw/experiment/metrics.py: 实验指标- 自定义仪表板 (broadcast/collector架构)
5.3 测试
- pytest (本地执行)
- 无自动化CI
5.4 特点
以研究为中心,容器化是核心,自动化程度低,适合实验驱动开发
运维工作优先级矩阵
| 优先级 | 工作项 | openclaw | ironclaw | NemoClaw | nanobot | AutoRC |
|---|---|---|---|---|---|---|
| P0-关键 | 核心CI/CD | ✓ | ✓ | ✓ | ✓ | - |
| 容器化 | ✓ | ✓ | ✓ | ✓ | ✓ | |
| 测试自动化 | ✓ | ✓ | ✓ | ✓ | - | |
| P1-重要 | 代码质量 | ✓ | ✓ | ✓ | - | - |
| 安全扫描 | ✓ | ✓ | ✓ | - | - | |
| 自动化发布 | ✓ | ✓ | - | - | - | |
| P2-推荐 | 健康检查 | ✓ | ✓ | ✓ | - | ✓ |
| 多环境部署 | ✓ | ✓ | - | - | - | |
| 覆盖率跟踪 | ✓ | ✓ | ✓ | - | - | |
| P3-增强 | 可观测性平台 | ✓ | ✓ | - | - | ✓ |
| IaC (Terraform) | - | - | - | - | - | |
| Helm Charts | - | - | - | - | - | |
| 混沌工程 | - | - | - | - | - |
优先级说明
P0-关键 (必须做):
- 没有这些无法稳定运行开源项目
- 影响代码质量和开发效率
- 新项目必须建立
P1-重要 (应该做):
- 提高安全性和合规性
- 减少人工操作
- 成熟项目必备
P2-推荐 (可以做):
- 提升运维可见性
- 支持多环境策略
- 有条件就实施
P3-增强 (可选):
- 企业级需求
- 大规模部署才需要
- 可以后期添加
最佳实践对比
1. CI/CD最佳实践
| 最佳实践 | 说明 | 遵循项目 |
|---|---|---|
| 多平台测试 | Linux/Windows/macOS并行测试 | openclaw, ironclaw, nanobot, NemoClaw |
| 智能缓存 | 缓存依赖和构建产物 | openclaw, ironclaw |
| 矩阵构建 | 多版本/多配置并行 | openclaw, ironclaw, NemoClaw, nanobot |
| PR预览 | PR时构建预览环境 | openclaw, NemoClaw |
| 文档变更跳过 | 仅文档变更跳过重任务 | openclaw |
| 夜间/定时任务 | 运行耗时任务 | openclaw, ironclaw, NemoClaw |
| 覆盖率跟踪 | 强制覆盖率门禁 | openclaw, ironclaw, NemoClaw |
| E2E测试 | 端到端自动化测试 | openclaw, ironclaw, NemoClaw |
2. 容器化最佳实践
| 最佳实践 | 说明 | 遵循项目 |
|---|---|---|
| 多阶段构建 | 分离构建和运行环境 | openclaw, ironclaw, nanobot, NemoClaw |
| 非root用户 | 安全最佳实践 | 全部 |
| SHA256固定 | 基础镜像防篡改 | openclaw |
| 健康检查 | 容器健康探针 | openclaw, ironclaw |
| 最小化镜像 | 只包含必需依赖 | openclaw, ironclaw |
| 安全增强 | no-new-privileges, cap_drop | openclaw |
| OCI标准 | 标准元数据 | openclaw |
| 资源限制 | CPU/内存限制 | nanobot |
3. 安全最佳实践
| 最佳实践 | 说明 | 遵循项目 |
|---|---|---|
| 密钥扫描 | 防止密钥泄露 | openclaw, NemoClaw |
| 依赖审计 | 扫描依赖漏洞 | openclaw, ironclaw |
| SAST扫描 | 静态代码分析 | openclaw |
| 工作流审计 | CI/CD工作流安全检查 | openclaw |
| 签名验证 | GPG/镜像签名 | openclaw, ironclaw |
| 许可证合规 | 依赖许可证检查 | ironclaw, NemoClaw |
| Build Arg安全 | 防止注入攻击 | NemoClaw |
4. 代码质量最佳实践
| 最佳实践 | 说明 | 遵循项目 |
|---|---|---|
| Pre-commit钩子 | 提交前自动检查 | openclaw, ironclaw, NemoClaw |
| 统一格式化 | 自动化代码格式 | openclaw, ironclaw, NemoClaw |
| Linting | 静态分析 | 全部 |
| Type Safety | 严格类型检查 | openclaw, ironclaw, NemoClaw |
| 提交规范 | Conventional Commits | NemoClaw |
| PR自动化 | 自动标签、分类 | openclaw, ironclaw |
5. 监控最佳实践
| 最佳实践 | 说明 | 遵循项目 |
|---|---|---|
| 健康检查端点 | /healthz, /readyz | openclaw, ironclaw, NemoClaw |
| 标准化响应 | JSON格式健康检查 | openclaw |
| 指标收集 | 内置指标模块 | openclaw, ironclaw |
| 使用追踪 | 使用统计和分析 | openclaw, ironclaw |
| 诊断扩展 | 可插拔诊断 | openclaw |
缺失项与原因分析
1. 共同缺失项
| 缺失项 | 为什么可能缺失 | 影响 |
|---|---|---|
| Terraform IaC | 项目规模不大,手动管理足够 | 多云部署困难 |
| Helm Charts | 使用docker-compose或自定义脚本 | K8s部署复杂 |
| Prometheus/Grafana | 各项目有自己指标方案 | 统一监控困难 |
| 混沌工程 | 非企业级应用,不需要 | 弹性性验证不足 |
| 集中式日志 | 使用日志服务输出 | 日志聚合困难 |
| SBOM生成 | 依赖扫描已足够 | 供应链透明度较低 |
2. 各项目特有缺失与原因
openclaw
- 缺失: 无
- 原因: 项目最成熟,运维实践最完善
ironclaw
- 缺失: 无
- 原因: Rust生态成熟,工具链完善
NemoClaw
- 缺失: 无自动化发布
- 原因: 可能还在发展中,关注质量而非发布
nanobot
- 缺失: 几乎所有高级运维实践
- 原因:
- 项目定位:简化版代理
- 快速迭代优先
- 资源有限
- 用户基数小
AutoResearchClaw
- 缺失: CI/CD、安全扫描、自动化发布
- 原因:
- 研究项目,非生产应用
- 以容器为核心提供环境
- 本地执行为主
- 频繁实验,自动化价值低
给新运维工程师的建议
第一阶段:基础建立 (1-2周)
根据优先级矩阵,先建立P0级别的运维基础设施:
1. 设置CI/CD流水线
GitHub Actions模板:
name: CI
on:
push:
branches: [ main, develop ]
pull_request:
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run tests
run: make test
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run linter
run: make lint工具选择参考:
- Python: pytest + ruff + pre-commit
- Node.js: vitest + eslint + prettier + prek
- Rust: cargo test + clippy + rustfmt
2. 容器化项目
Dockerfile最佳实践:
# 1. 固定基础镜像版本
FROM node:24-bookworm@sha256:xxx AS builder
# 2. 非root用户
RUN adduser --disabled-password --gecos "" appuser
# 3. 安装依赖
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
# 4. 复制代码
COPY . .
RUN npm run build
# 5. 运行时镜像
FROM node:24-slim@sha256:xxx
COPY --from=builder /app /app
USER appuser
EXPOSE 3000
HEALTHCHECK --interval=30s CMD curl -f http://localhost:3000/healthz || exit 1
CMD ["node", "/app/dist/index.js"]3. 建立测试自动化
测试金字塔:
/\
/E2E\ (少量,端到端)
/------\
/ \ (中等,集成测试)
/----------\
/ 单元测试 \ (大量,快速)
--------------关键指标:
- 测试时间: 应 < 10分钟
- 覆盖率: 核心代码 > 70%
- 并行化: 分片加速
第二阶段:质量提升 (2-4周)
建立P1级别的运维实践:
1. 设置Pre-commit钩子
.pre-commit-config.yaml:
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
- repo: local
hooks:
- id: run-tests
name: Run tests
entry: pytest
language: system
pass_filenames: false2. 安全扫描
最小安全栈:
# 依赖审计
- id: npm-audit
entry: npm audit --audit-level=high
# 密钥扫描
- repo: https://github.com/Yelp/detect-secrets
hooks:
- id: detect-secrets3. 自动化发布
Release Workflow:
name: Release
on:
push:
tags:
- 'v*'
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build
run: make build
- name: Publish
run: make publish第三阶段:完善提升 (持续)
添加P2和P3级别的实践:
1. 多环境支持
- 开发环境: Docker Compose
- 预发布环境: Cloud (Fly.io, Render等)
- 生产环境: K8s或云平台
2. 监控与可观测性
最小监控栈:
健康检查端点: /healthz, /readyz
日志输出: 结构化日志(JSON)
错误追踪: Sentry或类似3. 文档
必要文档:
README.md: 项目介绍、快速开始CONTRIBUTING.md: 贡献指南DEPLOYMENT.md: 部署文档TROUBLESHOOTING.md: 故障排查
工具推荐表
| 类别 | 工具 | 适用场景 |
|---|---|---|
| CI/CD | GitHub Actions | 开源项目首选 |
| GitLab CI | GitLab托管 | |
| Jenkins | 企业级 | |
| 容器 | Docker | 通用 |
| Podman | Rootless需求 | |
| 代码质量 | pre-commit | Git钩子 |
| ruff | Python | |
| eslint | Node.js | |
| clippy | Rust | |
| 测试 | pytest | Python |
| vitest | Node.js | |
| Playwright | E2E | |
| 安全 | CodeQL | 静态分析 |
| gitleaks | 密钥扫描 | |
| Snyk | 依赖扫描 | |
| 监控 | Sentry | 错误追踪 |
| Prometheus | 指标 | |
| 文档 | Sphinx | Python |
| Mintlify | 现代文档平台 |
运维检查清单
每次提交前
- [ ] 本地测试通过
- [ ] 代码已格式化
- [ ] Lint检查通过
- [ ] 无敏感信息
每次发布前
- [ ] 所有CI检查通过
- [ ] 版本号已更新
- [ ] Changelog已更新
- [ ] 文档已同步
每月审查
- [ ] 依赖是否有安全漏洞
- [ ] CI/CD流水线是否需要优化
- [ ] 测试覆盖率趋势
- [ ] 服务器/容器健康状态
学习路径
基础 (第1个月)
- Docker基础
- Git基础
- Shell脚本
- CI/CD概念
进阶 (第2-3个月)
- GitHub Actions深度使用
- 容器编排
- 测试策略
- 安全基础
高级 (持续)
- 可观测性
- IaC
- 云平台管理
- 容量规划
附录
A. 项目文件结构速查
openclaw/
├── .github/workflows/ # 14个CI工作流
├── .pre-commit-config.yaml # 代码质量钩子
├── Dockerfile # 多阶段构建
├── docker-compose.yml # 本地环境
├── fly.toml # Fly.io部署
└── scripts/k8s/ # K8s部署脚本
ironclaw/
├── .github/workflows/ # 13个CI工作流
├── .githooks/pre-commit # Git钩子
├── Dockerfile # 多阶段构建
├── docker-compose.yml # 本地环境
└── deploy/ # GCP部署脚本
NemoClaw/
├── .github/workflows/ # 7个CI工作流
├── .pre-commit-config.yaml # prek配置
├── Makefile # 构建命令
└── scripts/ # 辅助脚本
nanobot/
├── .github/workflows/ci.yml # 1个CI工作流
├── Dockerfile # 基础容器
└── docker-compose.yml # 本地环境
AutoResearchClaw/
├── researchclaw/docker/ # 7个领域Dockerfile
├── sentinel.sh # 守护脚本
└── tests/test_rc_health.py # 健康检查B. 常用命令速查
# Docker
docker build -t app:latest .
docker run -d -p 3000:3000 app:latest
docker-compose up -d
docker-compose logs -f
# Git
git checkout -b feature/new
git add .
git commit -m "feat: add new feature"
git push origin feature/new
# GitHub CLI
gh pr create --title "New feature" --body "..."
gh release create v1.0.0 --notes "..."C. 参考资源
报告结束
如有问题或需要进一步探讨特定运维实践,请随时联系。