博客应用:Flask + Dockerfile + K8s 清单 + Jenkinsfile

This commit is contained in:
2026-10-23 10:31:31 +08:00
commit aa581edf84
7 changed files with 513 additions and 0 deletions
+45
View File
@@ -0,0 +1,45 @@
# 我的博客
一个用 Flask 写的极简博客,用来演示完整的 CI/CD 链路:
```
Gitea(代码) → Jenkins(流水线) → Kaniko(构建镜像) → Harbor(镜像仓库) → Kubernetes(部署)
```
## 功能
- 首页文章列表
- Markdown 文章详情(代码块、表格、引用)
- 写文章(`/new`,需要管理口令)
- 阅读计数
- 文章持久化在 Longhorn 卷上
## 本地跑
```bash
pip install -r requirements.txt
DATA_DIR=./data ADMIN_TOKEN=test123 python app.py
# 打开 http://localhost:5000
```
## 构建镜像
```bash
docker build -t harbor.nineleaves.cn/apps/blog:dev .
docker push harbor.nineleaves.cn/apps/blog:dev
```
## 部署
Jenkins 流水线会自动 apply `k8s/deployment.yaml` 并把镜像替换成本次的构建号。
手动执行:
```bash
kubectl apply -f k8s/deployment.yaml
kubectl -n apps set image deployment/blog blog=harbor.nineleaves.cn/apps/blog:dev
```
## 访问
https://blog.nineleaves.cn