Skip to content

工具与部署

工具模块整理开发协作、环境一致性、自动化构建和持续部署相关内容。当前主要覆盖 Git、Docker 和 Jenkins,目标是让项目从本地开发到生产发布都有清晰流程。

模块导航

工具内容解决的问题
Git 版本控制基础命令、分支管理、远程协作、冲突处理代码协作、版本追踪、变更回滚
Docker 容器化镜像、容器、Dockerfile、Compose、常见问题环境一致、服务编排、部署隔离
Jenkins CI/CD安装配置、Pipeline、插件、自动化部署自动构建、自动测试、自动发布

推荐落地顺序

  1. 先规范 Git 工作流,明确分支命名、提交信息、代码评审和合并策略。
  2. 再用 Docker 固化运行环境,减少“本地能跑,线上不能跑”的问题。
  3. 最后接入 Jenkins,把安装依赖、测试、构建、部署和通知串成流水线。

Git 协作基线

  • 主分支保持可发布状态。
  • 功能开发使用独立分支,分支名体现业务或任务编号。
  • 提交信息说明“做了什么”和“为什么做”。
  • 合并前至少完成本地构建或核心测试。
  • 冲突解决后重新运行相关验证。

Docker 使用基线

  • 镜像构建过程保持可重复,不依赖本机隐藏状态。
  • 生产镜像只包含运行所需文件,减少体积和攻击面。
  • 配置通过环境变量注入,不写死在镜像中。
  • 多服务开发环境使用 docker compose 管理。
  • 数据库、缓存等有状态服务要明确数据卷和备份策略。

Jenkins 流水线基线

典型流水线可以拆成以下阶段:

text
Checkout -> Install -> Lint -> Test -> Build -> Docker Build -> Deploy -> Notify

每个阶段都应该有明确失败条件。构建失败时不要继续部署,部署失败时要保留日志并支持回滚。

环境变量清单

类型示例建议
应用环境NODE_ENVAPP_ENV区分 development、test、staging、production
服务端口PORT避免端口硬编码
接口地址API_BASE_URL前后端分离项目必须可配置
数据库DB_HOSTDB_USERDB_PASSWORD密码不要提交到仓库
镜像信息IMAGE_NAMEIMAGE_TAG与 CI 构建号或 Git SHA 关联

发布前检查

  • 代码已合并到正确分支。
  • CI 构建、测试和静态检查通过。
  • Docker 镜像 tag 可追踪到具体提交。
  • 数据库迁移脚本已审查并备份关键数据。
  • 生产环境变量和密钥已配置。
  • 发布失败时有明确回滚方案。