博客应用:Flask + Dockerfile + K8s 清单 + Jenkinsfile
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user