关于 devops
devops 是一项涵盖 Cloudflare、Docker 和 Google Cloud Platform 的部署与基础设施管理技能,面向云平台和容器工作流。它提供平台选择指引,并涵盖 CI/CD、安全、性能和成本管理。
主要功能
- 01Cloudflare Workers 部署指引
- 02Docker 容器构建与管理
- 03Google Cloud 基础设施管理
- 04CI/CD 流水线模式
- 05云安全、性能与成本实践
适用场景
- 01将无服务器应用部署到 Cloudflare Workers
- 02使用 Docker 构建和部署容器化服务
- 03通过 gcloud 管理 Google Cloud 资源
- 04规划跨平台 CI/CD 与基础设施自动化
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jackspace/ claudeskillz --skill devops安装后在 Claude Code 中输入/devops确认已加载。
附带文件.env.exampleSKILL.json
详细介绍
DevOps 技能
全面介绍如何在 Cloudflare 边缘平台、Docker 容器化环境和 Google Cloud Platform 上部署和管理云基础设施。
何时使用此技能
在以下情况使用此技能:
- 将无服务器应用部署到 Cloudflare Workers
- 使用 Docker 容器化应用
- 使用 gcloud CLI 管理 Google Cloud 基础设施
- 在不同平台上设置 CI/CD 流水线
- 优化云基础设施成本
- 实施多区域部署
- 构建边缘优先架构
- 使用 Kubernetes 管理容器编排
- 配置云存储解决方案(R2、Cloud Storage)
- 使用脚本和 IaC 自动化基础设施
平台选择指南
何时使用 Cloudflare
适用场景:
- 面向边缘、全球分发的应用
- 超低延迟要求(<50ms)
- 带有无服务器函数的静态网站
- 零出口流量费用场景(R2 存储)
- WebSocket/实时应用(Durable Objects)
- 边缘 AI/ML(Workers AI)
主要产品:
- Workers(无服务器函数)
- R2(对象存储,兼容 S3)
- D1(具备全球复制功能的 SQLite 数据库)
- KV(键值存储)
- Pages(静态托管 + 函数)
- Durable Objects(有状态计算)
- Browser Rendering(无头浏览器自动化)
**成本模式:**按请求付费,免费层额度充足,零出口流量费用
何时使用 Docker
适用场景:
- 保持本地开发环境一致
- 微服务架构
- 多语言技术栈应用
- 传统 VPS/VM 部署
- Kubernetes 编排
- CI/CD 构建环境
- 数据库容器化(开发/测试)
主要功能:
- 应用隔离与可移植性
- 用于优化的多阶段构建
- 使用 Docker Compose 管理多容器应用
- 使用卷管理实现数据持久化
- 网络配置与服务发现
- 跨平台兼容性(amd64、arm64)
**成本模式:**仅基础设施成本(计算 + 存储)
何时使用 Google Cloud
适用场景:
- 企业级应用
- 数据分析和 ML 流水线(BigQuery、Vertex AI)
- 混合云/多云部署
- 大规模 Kubernetes(GKE)
- 托管数据库(Cloud SQL、Firestore、Spanner)
- 复杂的 IAM 和合规要求
主要服务:
- Compute Engine(VM)
- GKE(托管 Kubernetes)
- Cloud Run(容器化无服务器服务)
- App Engine(PaaS)
- Cloud Storage(对象存储)
- Cloud SQL(托管数据库)
**成本模式:**定价方式多样,提供持续使用折扣和承诺使用合约
快速开始
Cloudflare Workers
# Install Wrangler CLI
npm install -g wrangler
# Create and deploy Worker
wrangler init my-worker
cd my-worker
wrangler deploy
参见:references/cloudflare-workers-basics.md
Docker 容器
# Create Dockerfile
cat > Dockerfile <<EOF
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --production
COPY . .
EXPOSE 3000
CMD ["node", "server.js"]
EOF
# Build and run
docker build -t myapp .
docker run -p 3000:3000 myapp
参见:references/docker-basics.md
Google Cloud 部署
# Install and authenticate
curl https://sdk.cloud.google.com | bash
gcloud init
gcloud auth login
# Deploy to Cloud Run
gcloud run deploy my-service \
--image gcr.io/project/image \
--region us-central1
参见:references/gcloud-platform.md
参考文档导航
Cloudflare 平台
cloudflare-platform.md- 边缘计算概述、主要组件cloudflare-workers-basics.md- 入门指南、处理程序类型、基本模式cloudflare-workers-advanced.md- 高级模式、性能、优化cloudflare-workers-apis.md- 运行时 API、绑定、集成cloudflare-r2-storage.md- R2 对象存储、S3 兼容性、最佳实践cloudflare-d1-kv.md- D1 SQLite 数据库、KV 存储、使用场景browser-rendering.md- 在 Cloudflare 上使用 Puppeteer/Playwright 自动化
Docker 容器化
docker-basics.md- 核心概念、Dockerfile、镜像、容器docker-compose.md- 多容器应用、网络、卷
Google Cloud Platform
gcloud-platform.md- GCP 概述、gcloud CLI、身份验证gcloud-services.md- Compute Engine、GKE、Cloud Run、App Engine
Python 实用工具
scripts/cloudflare-deploy.py- 自动部署 Cloudflare Workerscripts/docker-optimize.py- 分析和优化 Dockerfile
常见工作流
边缘 + 容器混合架构
# Cloudflare Workers (API Gateway)
# -> Docker containers on Cloud Run (Backend Services)
# -> R2 (Object Storage)
# Benefits:
# - Edge caching and routing
# - Containerized business logic
# - Global distribution
Docker 多阶段构建
# Build stage
FROM node:20-alpine AS build
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
# Production stage
FROM node:20-alpine
WORKDIR /app
COPY --from=build /app/dist ./dist
COPY --from=build /app/node_modules ./node_modules
USER node
CMD ["node", "dist/server.js"]
CI/CD 流水线模式
# 1. Build: Docker multi-stage build
# 2. Test: Run tests in container
# 3. Push: Push to registry (GCR, Docker Hub)
# 4. Deploy: Deploy to Cloudflare Workers / Cloud Run
# 5. Verify: Health checks and smoke tests
最佳实践
安全性
- 以非 root 用户运行容器
- 使用服务账号模拟(GCP)
- 将密钥存储在环境变量中,而非代码中
- 扫描镜像中的漏洞(Docker Scout)
- 使用权限最小化的 API 令牌
性能
- 使用多阶段 Docker 构建来减小镜像体积
- 使用 Cloudflare KV 进行边缘缓存
- 使用 R2 存储,实现零出口流量成本
- 为容器实现运行状况检查
- 设置合适的超时和资源限制
成本优化
- 大量出口流量场景下,使用 Cloudflare R2 代替 S3
- 实施缓存策略(边缘缓存 + KV)
- 为容器资源选择合适的规格
- 使用持续使用折扣(GCP)
- 使用云服务提供商的控制面板监控用量
开发
- 使用 Docker Compose 进行本地开发
- 使用 Wrangler dev 在本地测试 Worker
- 使用命名的 gcloud 配置支持多环境
- 对基础设施代码进行版本控制
- 在 CI/CD 中实施自动化测试
决策矩阵
| 需求 | 选择 |
|---|---|
| 全球延迟低于 50 ms | Cloudflare Workers |
| 大型文件存储(零出口流量) | Cloudflare R2 |
| SQL 数据库(全球读取) | Cloudflare D1 |
| 容器化工作负载 | Docker + Cloud Run/GKE |
| 企业级 Kubernetes | GKE |
| 托管式关系型数据库 | Cloud SQL |
| 静态网站 + API | Cloudflare Pages |
| WebSocket/实时通信 | Cloudflare Durable Objects |
| ML/AI 工作流 | GCP Vertex AI |
| 浏览器自动化 | Cloudflare Browser Rendering |
资源
- Cloudflare 文档: https://developers.cloudflare.com
- Docker 文档: https://docs.docker.com
- GCP 文档: https://cloud.google.com/docs
- Wrangler CLI: https://developers.cloudflare.com/workers/wrangler/
- gcloud CLI: https://cloud.google.com/sdk/gcloud
实施清单
Cloudflare Workers
- 安装 Wrangler CLI
- 创建 Worker 项目
- 配置 wrangler.toml(绑定、路由)
- 使用
wrangler dev在本地测试 - 使用
wrangler deploy部署
Docker
- 编写采用多阶段构建的 Dockerfile
- 创建 .dockerignore 文件
- 在本地测试构建
- 推送到镜像仓库
- 部署到目标平台
Google Cloud
- 安装 gcloud CLI
- 使用服务账号进行身份验证
- 创建项目并启用 API
- 配置 IAM 权限
- 部署并监控资源
评论
支持 Markdown