chore(infra): 新增 Gitea+Jenkins CI/CD 部署与凭据整改
- infra/cicd:docker-compose(gitea/jenkins)、JCasC(凭据统一 ${ENV} 注入,无硬编码)、
备份/恢复、健康检查、凭据轮换与 git 历史清除脚本
- docs/deployment/cicd:安装、高可用备份监控、凭据事故复盘
- .env.example 仅为占位模板;真实 .env 由 .gitignore 排除
This commit was merged in pull request #27.
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
# ============================================================
|
||||
# CI/CD 环境变量模板
|
||||
#
|
||||
# ⚠️ 复制为 .env 后填写真实值。.env 已在 .gitignore 中,绝不允许入库。
|
||||
# ⚠️ 2026-09-14 曾发生凭据入库事故(scripts/setup-cicd/cicd.config),
|
||||
# 本文件即该事故的整改产物。任何密码/令牌只允许出现在这里或 Jenkins Credentials。
|
||||
#
|
||||
# 生成强随机值:
|
||||
# openssl rand -base64 24 # 密码
|
||||
# openssl rand -hex 32 # 令牌/密钥
|
||||
# ============================================================
|
||||
|
||||
# ---------- Gitea ----------
|
||||
GITEA_ROOT_URL=https://git.f.novalon.cn
|
||||
GITEA_SSH_DOMAIN=git.f.novalon.cn
|
||||
GITEA_DB_NAME=gitea
|
||||
GITEA_DB_USER=gitea
|
||||
# 至少 24 位;与 app.ini [database] PASSWD 必须一致
|
||||
GITEA_DB_PASSWORD=__CHANGE_ME__
|
||||
|
||||
# ---------- Jenkins ----------
|
||||
JENKINS_ADMIN_USER=zhangxiang
|
||||
# 至少 16 位;JCasC 首次启动写入,之后改此值需同步改 casc.yaml 逻辑
|
||||
JENKINS_ADMIN_PASSWORD=__CHANGE_ME__
|
||||
|
||||
# Gitea 个人访问令牌(Jenkins 拉取代码用)
|
||||
# 生成:Gitea -> 设置 -> 应用 -> 生成新令牌,权限仅勾 read:repository
|
||||
GITEA_TOKEN=__CHANGE_ME__
|
||||
|
||||
# 部署用 SSH 私钥口令(无口令填空)
|
||||
DEPLOY_SSH_KEY_PASSPHRASE=
|
||||
|
||||
# ---------- 备份 ----------
|
||||
BACKUP_ROOT=/home/novalon/backups/cicd
|
||||
# 本地保留份数(磁盘 20G 已用 85%,务必配异地)
|
||||
BACKUP_RETENTION=3
|
||||
# 单份备份告警阈值
|
||||
BACKUP_MIN_FREE_GB=3
|
||||
# 异地同步开关:留空则不同步(强烈建议配置)
|
||||
# 例:rclone remote 名 + 路径
|
||||
RCLONE_REMOTE=
|
||||
RCLONE_PATH=novalon-cicd-backup
|
||||
|
||||
# ---------- 告警 ----------
|
||||
# 失败时推送的 Webhook(企业微信/钉钉);留空则不推送
|
||||
ALERT_WEBHOOK_URL=
|
||||
BACKUP_FULL_RETENTION=1
|
||||
BACKUP_THIN_RETENTION=3
|
||||
Reference in New Issue
Block a user