想拥有自己的网站但是苦于没有钱购买昂贵的服务器,为何不用github免费部署属于自己的网站,不管是组件库还是个人笔记…
本次案例使用Dumi作为演示Demo
将Dumi自动部署到Github,构建自己的网站
安装
1 2 3 4 5 6 7 8 9 10 11 12
| // 下载脚手架 $ npx @umijs/create-dumi-app
$ yarn create @umijs/dumi-app
// 安装npm包 $ npm install
$ yarn
// 运行项目 $ npm run serve
|
启动后如图所示:
剩下的页面搭建就需要各位自己动手了…
部署
开发阶段的代码经过打包才可以部署到服务器,但是又不想重复性手动打包上传,这时就可以利用GitHub提供的Actions功能了
在根目录新建.github/workflows/ci.yml
文件:
请根据情况自行编写
不要一味的复制粘贴,请根据应用场景修改代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| name: dumi book test
on: push: branches: - main
jobs: build-and-deploy: runs-on: ubuntu-latest
steps: - name: Checkout code uses: actions/checkout@v1
- name: Use Node.js uses: actions/setup-node@v1 with: node-version: 15.x
- name: Build Project run: | npm install npm run build
- name: Deploy to Github uses: JamesIves/github-pages-deploy-action@4.0.0 with: branch: build folder: dist
|
修改.umirc.ts
文件:
文件配置项肯定不止这些,这些仅仅是需要的
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| import { defineConfig } from 'dumi';
const repo = 'dumi-book-test';
export default defineConfig({ title: 'dumi-book-test', mode: 'site', devServer: { port: 1998 }, base: process.env.NODE_ENV === 'production' ? `/${repo}/` : '/', publicPath: process.env.NODE_ENV === 'production' ? `/${repo}/` : '/', });
|
提交
在整个项目都准备好之后就要上传到github仓库了:
1 2 3 4 5 6
| git init
git add .
git commit -m "首次提交"
|
你的项目源代码上传在main主分支,而打包后的在build分支。可以进入看执行过程:
设置Pages
在Setings设置Pages,设置在分支部署服务,选择build分支
生成一个网址,就是你的最终网址: