Add security note

This commit is contained in:
Baohua Yang
2026-02-28 14:28:38 -08:00
parent 70cab9e92d
commit 0ff67cc893
16 changed files with 115 additions and 23 deletions

View File

@@ -58,8 +58,7 @@ build_image:
services:
- docker:20.10.16-dind
script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD \
$CI_REGISTRY
- echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY
- docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA .
- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
@@ -81,4 +80,10 @@ deploy_staging:
1. **不可变基础设施**一旦镜像构建完成在各个环境DevStagingProd中都应该使用同一个镜像 tag通常是 commit hash而不是重新构建
2. **配置分离**使用 ConfigMap Secret 管理环境特定的配置不要打包进镜像
3. **GitOps**考虑引入 ArgoCD将部署配置也作为代码存储在 Git 实现 Git 驱动的部署同步
3. **应对 Docker Hub 限额 (Rate Limits)**
- Docker Hub 对匿名拉取实施了严格的限制 (6小时内约100次)若在 CI/CD 中频繁构建极易触发 `toomanyrequests` 错误
- **最佳策略**
- 在流水线开头始终执行安全的身份认证 (使用 PAT而非密码)
- 将常用的基础镜像缓存到自建的 Harbor/Nexus使用 Pull-Through Cache
- 开启 Docker 构建引擎 (BuildKit) inline registry 缓存功能以降低全量拉取频率
4. **GitOps**考虑引入 ArgoCD将部署配置也作为代码存储在 Git 实现 Git 驱动的部署同步