VuePress建立的博客部署到GitHub或Gitee上

在上一篇中,我们详细介绍了如何利用VuePress搭建起个人博客系统,但这只是在本地debug启动的,接下来,我们把它部署到Github网站。

  • config.js中配置base

    1. base: '/v-blog/',

    v-blog是我Github上的仓库名

  • 编写自动化脚本

    在根目录/v-blog/下我们需要编写两个脚本

    因为写在一个脚本里话编译完会直接退出,

    所以把编译的命令单独放在另外一个脚本文件里调就可以了

    • build.bat

      1. @echo off
      2. vuepress build docs
    • deploy.bat

      1. @echo off
      2. echo building...
      3. call build.bat
      4. echo building-complete.
      5. cd docs/.vuepress/dist
      6. git init
      7. git add -A
      8. git commit -m 'auto-deploy'
      9. git remote add origin https://github.com/CoderMonkie/v-blog.git
      10. git pull
      11. git push --force origin HEAD:gh-pages
      12. REM To delete the dist folder
      13. cd ..
      14. echo delete-directory: "%cd%/dist"
      15. rmdir /s /q "%cd%/dist"
      16. cd..
      17. cd..
      18. echo Auto-Deploy-Complete!
      19. pause

    然后,只要双击执行depploy.bat就可以。

    或者配置到package.jsonscripts中。

    1. "scripts": {
    2. "deploy": "deploy.bat"
    3. }
    1. npm run deploy

    编译完成提及到远程的时候,会提示输入用户名密码。

    (或者保存登录权限信息使其静默推送)

  • GitHub中本项目的setting下确认

    我们在push时设为推送到gh-pages分支,

    此时,v-blog -- setting下的GitHub Pages设置,

    应该为gh-pages选中状态,不是的话改为gh-pages

    这样就完成了。如果GitHub Pages设置页显示:

    1. Your site is published at https://codermonkie.github.io/v-blog/

    那么说明网站发布了,可以查看。

    1. Your site is ready to be published at https://codermonkie.github.io/v-blog/.

    那么说明GitHub还没有完成给你发布,访问的话会是404,等待吧。


(深夜)更新:已经好了v-blog

GitHub Pages/source的下拉框里切换了几次,不经意间发现已经发布了。


补充:

补两张图,看起来能更简明,直截了当。

  • GitHub

    在【Setting -- GitHub Pages】的Source的下拉框中选择要使用的分支

    (也可以branch/docs文件夹,不过我们VuePress生成的博客嘛直接用分支了)

  • Gitee

    在【服务 -- Gitee Pages】点【启动】

    更新网站的话静态文件推送后要点【更新】


如果是要将博客部署到Gitee:

除了我们可以同时提交到两个远程(GitHub和Gitee仓库),

关联多个远程仓库,实现一次push多站提交

也可以在同一个工程文件里实现两个远程仓库的部署。

将上面给出的脚本deploy.bat,另存一份deploy-gitee.bat,

修改一下,主要有两处:

  • 远程地址(github -> gitee 的地址)
  • 提交到的远程分支名(gh-pages -> v-blog-pages)
  1. @echo off
  2. echo building...
  3. call build.bat
  4. echo building-complete.
  5. cd docs/.vuepress/dist
  6. git init
  7. git remote add origin https://gitee.com/coder-monkey/v-blog.git
  8. git add -A
  9. git commit -m 'auto-deploy'
  10. git pull
  11. git push --force origin HEAD:v-blog-pages
  12. REM To delete the dist folder
  13. cd ..
  14. echo delete-directory: "%cd%/dist"
  15. rmdir /s /q "%cd%/dist"
  16. cd..
  17. cd..
  18. echo Auto-Deploy-Complete!
  19. pause

package.json里加scripts一个命令

  1. "scripts": {
  2. "deploy-gitee": "deploy-gitee.bat"
  3. }

双击执行deploy-gitee.bat或以下:

  1. npm run deploy-gitee

再稍微动动手脚本稍作修改就可以实现一次命令多个远程部署了~


auto-deploy.bat最终版:

  1. @echo off
  2. echo building...
  3. call build.bat
  4. echo building-complete.
  5. cd docs/.vuepress/dist
  6. git init
  7. git config user.name maonianyou
  8. git config user.email maonianyou@foxmail.com
  9. git add -A
  10. git commit -m "%date% %time% auto-deploy"
  11. REM 静默推送的话可在地址里填入usernamepassword,如
  12. REM git remote add origin https://username:password@gitee.com/username/repo.git
  13. git remote add origin https://gitee.com/coder-monkey/v-blog.git
  14. git pull
  15. git push --force origin HEAD:v-blog-pages
  16. echo "Gitee Pages Deploy Complete!"
  17. REM 部署完上面的 Gitee Pages
  18. REM 需要删除 .git 文件夹
  19. REM 以备部署 GitHub Pages 再次初始化时用
  20. rmdir /s /q "%cd%/.git"
  21. git init
  22. git config user.name maonianyou
  23. git config user.email maonianyou@gmail.com
  24. git add -A
  25. git commit -m "%date% %time% auto-deploy"
  26. REM 静默推送的话可在地址里填入usernamepassword,如
  27. REM git remote add origin https://username:password@github.com/username/repo.git
  28. git remote add origin https://github.com/CoderMonkie/v-blog.git
  29. git pull
  30. git push --force origin HEAD:gh-pages
  31. echo "GitHub Pages Deploy Complete!"
  32. REM To delete the dist folder
  33. cd ..
  34. echo delete-directory: "%cd%/dist"
  35. rmdir /s /q "%cd%/dist"
  36. cd..
  37. cd..
  38. echo Auto-Deploy-Complete!
  39. pause
  1. "scripts: {
  2. "deploy": "auto-deploy.bat"
  3. }
  1. npm run deploy

还能继续改进?

  • package.json/scripts

    加一条,执行git pushauto-deploy.bat

    这样推送加部署就一口气完成啦

  • 使用netlify或者travis-ci这样的工具

    GitHubWebHook也要了解一下

更多好玩的,赶快来探索吧~

将`VuePress`建立的博客部署到GitHub或Gitee上的更多相关文章

  1. 怎么把使用vuepress搭建的博客部署到Github Pages

    推荐在这里阅读效果更佳 背景 网上搜了很多教程,包括官网的教程,但是还是费了一番功夫, 如果你使用自动化部署脚本部署不成功的话,可以参考我的这个笨方法 这是部署后的效果 前提 我假设你本地运行OK, ...

  2. 搭建自己的技术博客系列(二)把 Hexo 博客部署到 GitHub 上

    1.在GitHub上建一个新仓库

  3. hexo博客部署到github无法上传的问题

    博客生成之后,按照网上别人的教程,讲项目部署到github上,修改_config.yaml中的deploy部分如下所示: deploy: type: git repository: https://g ...

  4. Hexo博客部署-使用github作为保存中转仓库

    本篇是在VPS上搭建Hexo静态博客的第一篇博文,写本篇的目的一是纪念一下,二是作为一个部署文档保留. 博客地址 相关描述 VPS环境是在搬瓦工上安装的centos6(x86),1核,512MB,10 ...

  5. Hexo 博客部署到 GitHub

    本文简单记录了一下把 Hexo 部署到 GitHub 上的过程,也是搭建静态博客最常用的一种方式. 前面写了关于如何把 Hexo 安装在树莓派上的教程,但树莓派毕竟是连着自己的家的路由器,万一哪天网断 ...

  6. 上一周,小白的我试着搭建了两个个人博客:在github和openshift上

    上一周,突发奇想,想搭建个自己的博客. 由于是突发奇想,自然想先找免费的试试手.仔细搜索下,选定了目标Openshift和Github. Openshift 安装WordPress OpenShift ...

  7. Hexo博客部署到远程仓库(Conding、Gitee、Github)

    一.本地环境搭建 1.安装Git Git可以有效.高速的处理各种项目版本管理.也就是用来管理你的hexo博客文章,上传到GitHub的工具. Git下载地址 安装好了之后使用git -version查 ...

  8. 手把手教你使用 VuePress 搭建个人博客

    手把手教你使用 VuePress 搭建个人博客 有阅读障碍的同学,可以跳过第一至四节,下载我写好的工具包: git clone https://github.com/zhangyunchencc/vu ...

  9. 使用VuePress搭建个人博客

    使用VuePress搭建个人博客 VuePress 是一个基于 Vue 的静态网站生成器.其中主要用到:Vue,VueRouter,Webpack. 类似的工具:hexo 基于 Markdown 语法 ...

随机推荐

  1. 数学--数论-- AtCoder Beginner Contest 151(组合数+数学推导)好题(๑•̀ㅂ•́)و✧

    思路统计最大值出现的次数,和最小值出现的次数.虽然是每次都是MAX-MIN,我们先求MAX的和,然后再求MIN的和,做差. 这次代码写的真的很漂亮 题目地址: #include <bits/st ...

  2. CF思维联系– Codeforces-988C Equal Sums (哈希)

    ACM思维题训练集合 You are given k sequences of integers. The length of the i-th sequence equals to ni. You ...

  3. bzoj4318 OSU!和bzoj 3450 Tyvj1952 Easy

    这俩题太像了 bzoj 3450 Tyvj1952 Easy Description 某一天WJMZBMR在打osu~~~但是他太弱逼了,有些地方完全靠运气:( 我们来简化一下这个游戏的规则 有n次点 ...

  4. 如何找到Hive提交的SQL相对应的Yarn程序的applicationId

    最近的工作是利用Hive做数据仓库的ETL转换,大致方式是将ETL转换逻辑写在一个hsql文件中,脚本当中都是简单的SQL语句,不包含判断.循环等存储过程中才有的写法,仅仅支持一些简单的变量替换,比如 ...

  5. python-文件字符分布【get()函数与.sort(key=lambda x:x[0],reverse = False)】

    文件字符分布 描述 统计附件文件的小写字母a-z的字符分布,即出现a-z字符的数量,并输出结果.‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬ ...

  6. JSP+Spring+SpringMVC+Hibernate+Mysql实现的校园失物招领网站

    项目简介 项目来源于:https://github.com/wenlongup/LostAndFound 因原github仓库无数据库文件,经过本人修改,现将该仓库重新上传至个人gitee仓库. ht ...

  7. 正方形已知两点对角线求另外两点(POJ2002)

    至于为什么,上图.转载于MZW_BG 枚举正方形的一条边,此时有上正方形和下正方形. 最后正方形个数/4,因为每个正方形被枚举了4条边 #include <bits/stdc++.h> u ...

  8. 【Hadoop离线基础总结】流量日志分析网站整体架构模块开发

    目录 数据仓库设计 维度建模概述 维度建模的三种模式 本项目中数据仓库的设计 ETL开发 创建ODS层数据表 导入ODS层数据 生成ODS层明细宽表 统计分析开发 流量分析 受访分析 访客visit分 ...

  9. [hdu5254]BFS

    题意:如果一个格子的相邻四个格子中存在两个格子被标记,且这两个格子有公共点,那么这个格子也被标记.给定初始的标记状态,求最终有多少个格子被标记了 思路: 依次对每个格子进行处理,看它能否”生成“新的被 ...

  10. OPTICS聚类算法原理

    OPTICS聚类算法原理 基础 OPTICS聚类算法是基于密度的聚类算法,全称是Ordering points to identify the clustering structure,目标是将空间中 ...