No description
- JavaScript 39.9%
- CSS 35.2%
- HTML 12.8%
- Dockerfile 12.1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| .forgejo/workflows | ||
| .deploy-marker | ||
| .gitignore | ||
| app.js | ||
| Dockerfile | ||
| index.html | ||
| nginx.conf | ||
| README.md | ||
| style.css | ||
todo-web
CI/CD 案例里的前端。故意做成没有构建步骤的纯静态页面 —— 案例的重点是流水线、 环境编排和审计,不是前端工程化。
它跑起来只依赖两件事:
nginx-unprivileged(uid 101,监听 8080),静态文件直接服务/api/由 nginx 反代到同命名空间的backend:8080
页面右上角的 build: <tag> 来自构建期写进镜像的 /version.json,用来肉眼确认
「现在这个环境跑的是哪个 tag」—— 演示 ImageUpdater 自动更新时最直观的证据。
本地预览
docker build -t todo-web:dev .
docker run --rm -p 8080:8080 todo-web:dev
(只打开页面会报接口错误,因为本地没有后端;要看完整功能请部署到集群。)
CI
.forgejo/workflows/ci.yaml:push 到 dev / release/** / hotfix/** / v* tag 时
构建并推送到 harbor.touchall.tech/todo/todo-web:
| 触发 | 镜像 tag |
|---|---|
dev |
dev |
release/v1.2 |
release-v1.2 |
hotfix/login |
hotfix-login |
tag v1.2.3 |
v1.2.3 |
每次都额外推 sha-<12位> 作为不可变 tag。
环境与部署
清单不在这个仓里,在 todo-gitops:
CI 只负责产出镜像,环境由 Tekton pipeline todo-env-setup 生成目录、Argo CD 同步。