我的博客

一个用 Flask 写的极简博客,用来演示完整的 CI/CD 链路:

Gitea(代码) → Jenkins(流水线) → Kaniko(构建镜像) → Harbor(镜像仓库) → Kubernetes(部署)

功能

  • 首页文章列表
  • Markdown 文章详情(代码块、表格、引用)
  • 写文章(/new,需要管理口令)
  • 阅读计数
  • 文章持久化在 Longhorn 卷上

本地跑

pip install -r requirements.txt
DATA_DIR=./data ADMIN_TOKEN=test123 python app.py
# 打开 http://localhost:5000

构建镜像

docker build -t harbor.nineleaves.cn/apps/blog:dev .
docker push harbor.nineleaves.cn/apps/blog:dev

部署

Jenkins 流水线会自动 apply k8s/deployment.yaml 并把镜像替换成本次的构建号。

手动执行:

kubectl apply -f k8s/deployment.yaml
kubectl -n apps set image deployment/blog blog=harbor.nineleaves.cn/apps/blog:dev

访问

https://blog.nineleaves.cn

S
Description
K8s 演示博客
Readme
43 KiB
Languages
Python 94.8%
Dockerfile 5.2%