这组工具解决的是工程落地问题:代码怎么协作、怎么自动测试、怎么打包运行、怎么保证环境一致。
Git 工作流
常用命令:
git status
git add .
git commit -m "feat: add login"
git pull
git push
git checkout -b feature/login常见概念:
- merge:保留分支合并历史
- rebase:把提交“搬到”新基底上,历史更线性
- reset:移动当前分支指针,可能改工作区
- revert:新增一个反向提交,更适合公共分支
GitHub Actions
workflow 由触发条件和 jobs 组成。
name: CI
on:
push:
pull_request:
workflow_dispatch:
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm ci
- run: npm test常见触发:
- push
- pull_request
- schedule
- workflow_dispatch
Git Hooks
Git Hooks 是本地钩子,可以在 commit、push 等动作前后执行脚本。
常见用途:
- commit 前格式化
- commit 前 lint
- push 前测试
- 校验 commit message
Shell 管道和重定向
cat app.log | grep ERROR管道把左边命令输出交给右边命令。
node script.js > output.txt
node script.js >> output.txt> 覆盖写入,>> 追加写入。
Docker 核心概念
Image 是镜像,Container 是镜像运行后的实例。
Dockerfile 描述如何构建镜像。
Volume 用于持久化数据。
Network 用于容器通信。
Dockerfile
FROM node:20
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
EXPOSE 3000
CMD ["npm", "run", "start"]先复制依赖声明再安装依赖,是为了利用 Docker build cache。
docker-compose
docker-compose 用于同时启动多个服务。
services:
web:
build: .
ports:
- "3000:3000"
db:
image: postgres:16
volumes:
- db-data:/var/lib/postgresql/data
volumes:
db-data:它适合本地开发、集成测试和小型部署。