惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
GbyAI
GbyAI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Apple Machine Learning Research
Apple Machine Learning Research
大猫的无限游戏
大猫的无限游戏
阮一峰的网络日志
阮一峰的网络日志
Last Week in AI
Last Week in AI
V
Visual Studio Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
The Cloudflare Blog
博客园 - 【当耐特】
博客园 - 叶小钗
量子位
博客园 - 聂微东
S
SegmentFault 最新的问题
美团技术团队
Hugging Face - Blog
Hugging Face - Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
月光博客
月光博客
宝玉的分享
宝玉的分享
小众软件
小众软件
罗磊的独立博客
有赞技术团队
有赞技术团队
Stack Overflow Blog
Stack Overflow Blog

Mereith's Blog

记一次代理转发问题的排查与解决 PVE DataCenter Manager 端口号跳转错误修复 k8s + jenkins + gitlab 触发器 【转载】没有编程生产力这样的东西 【后续】居然被 ddos 了 居然被 ddos 了 Tagger - 让版本标签管理更简单 openclash 开启后端口转发失效 nextjs 启动时执行代码 买了太多VPS不知道干什么,干脆做个网站 juhost Level-1 测评 VMISS CN - Hong Kong VMISS JP - Tokyo - BGP 测评 VMISS CN - Hong Kong - BGP HomeLab 的终点是 最近在做的事情 因为选择艰难症,自己写了一套开源博客系统 手撸一个nodejs分布式爬虫,还要可视化 HomeLab 分享 我的个人工作流——开源项目推荐 动手写一个超简单的编译器 safari 插件开发 Safari Extensions Preferences 按钮无响应 设置移动端软键盘回车按钮文案 nginx proxy manager 非标准端口反代 Host 不对 监控 k8s ingress 自动添加域名 DNS 解析 使用 ingress 注解给 traefik ingress 添加中间件 使用流水线功能为文章添加固定结尾 为 VanBlog 添加一个小挂件 基于React/umi/egg自建博客系统 如何正确停止 NodeJS 子进程
用 vuepress 搭建私人知识库
wanglu@mereith.com (mereith) · 2022-07-31 · via Mereith's Blog

请注意,本文编写于 1410 天前,最后修改于 1406 天前,其中某些信息可能已经过时。

在平时的开发和折腾中,总会遇到各种各样的问题,踩各种各样的坑,原来是都记录在博客上的,但是发现有人搞这种专门的笔记站,感觉不错,所以我也打算搞一个:

技术栈

步骤

创建项目

新建一个 github 仓库,然后按照 vue-press-hope 主题官方说明初始化项目:

npm init vuepress-theme-hope@next [dir]

配置项目

按照官网的说明配置项目即可,慢慢来,细心即可。注意的是我们的场景并不需要主页,所以 home: true 去掉就行了。

nav bar主题色搜索等,按照文档走就行。注意复制按钮需要设置一下才能用,不然点了也没用。

配置 CI

默认初始化项目会询问你是否加一个自动部署到 github pages 的提示,如果需要的话点需要就行了。

这里提供一个我用的 Dockerfile 用来部署到自己的服务器。

FROM node:18 as builder WORKDIR /app COPY . . RUN yarn RUN yarn docs:build FROM nginx WORKDIR /usr/share/nginx/html/ COPY --form=builder /app/.vuepress/dist/ ./

也提供一个我用来部署到 k8sgithub actions

name: 部署文档 on: push: branches: - "master" jobs: deploy-pages: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 - name: 获取版本 run: | FILENAME=`date +"%y%m%d%H%M%S"` echo "::set-output name=VERSION::$FILENAME" id: get_version - name: 展示版本 run: echo ${{ steps.get_version.outputs.VERSION }} - name: Set up QEMU uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx id: buildx uses: docker/setup-buildx-action@v1 - name: Login to AliyunCS uses: docker/login-action@v1 with: registry: registry.cn-beijing.aliyuncs.com username: ${{ secrets.ALI_USER }} password: ${{ secrets.ALI_PASSWORD }} - name: 设置 Node.js uses: actions/setup-node@v3 with: node-version: 16 cache: yarn - name: 安装依赖 run: yarn install --frozen-lockfile - name: 构建文档 env: NODE_OPTIONS: --max_old_space_size=4096 run: |- yarn run docs:build id: image-name - name: 打包镜像并推送 uses: docker/build-push-action@v2 with: context: . file: ./Dockerfile platforms: linux/amd64 push: true tags: | "registry.cn-beijing.aliyuncs.com/mereith/gists:${{ steps.get_version.outputs.VERSION }}" - name: 部署到集群 uses: steebchen/kubectl@v2.0.0 with: # defaults to latest kubectl binary version config: ${{ secrets.K8S_CONFIG_DATA }} command: set image -n tools deployment/gists gists=registry.cn-beijing.aliyuncs.com/mereith/gists:${{ steps.get_version.outputs.VERSION }} - name: send Message To me run: | curl -X POST -H "Content-Type: application/json" -d '{"source":"github-ci:gists-doc","message":"流水线运行完毕,${{ steps.get_version.outputs.VERSION }} 已部署"}' ${{ secrets.WEBHOOK_URL }}