Files
blog/README.md
T

46 lines
985 B
Markdown

# 我的博客
一个用 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