Vuepress + GitHub Actions 实现博客自动部署!
前言本文已同步至:https://cunyu1943.github.io,欢迎关注后续更新!
正常我们利用 Vuepress 搭建一个文档博客之后,往往都是通过如下步骤来部署一篇博客:
首先写文章;
写完文章之后生成静态文件,这里一般使用的是npm run build命令,但也有使用yarn build的;
将我们生成的静态文件推送到 Github Pages;
访问我们对应的网址,查看我们的推送是否成功。
上述步骤看似简单,但一旦文档过多时,生成静态文件就十分耗费时间。这时候我们就想了,有不有一种方法,能够帮我们自动构建静态文件然后部署到 Github Pages 上呢。刚好,Github 官方提供了这个一个工具:Github Actions。利用它,我们就能够将重心转移到创作之后,每次创作之后推送到远程之后它就会自动后续工作,接下来我们就来看看如何利用 Github Action 实现自动部署我们的博客。
生成 Token要部署 Actions,那么它就需要有能够操作我们仓库的权限,因此需要提前设置个人访问令牌(Github personal access)。设置方法如下:进入 Github 后,点击我们的头像,然后依次进入Settings -> Developer settings -> Personal access tokens,对应地址就是Token 生成[1]。然后点击右上方的Generate new token,接着输入 token 的名字,这个名字可以随意,不过还是推荐根据它的用途来命名。然后选Expiration,也就是这个 Token 的有效期,如果我们要长期用,建议选为No expiration,意思就是无期限。最后就是选权限,一般来讲这里选repo就够了,但是如果你不确定,那就全都选上也行。然后点击Generate Token,会生成一个令牌,注意这里它只会出现一次,一旦刷新该网页就不见了,所以最好把它复制到你的备忘录备份一下,而且我们待会也是需要用到这个 Token 的。
设置 Secrets进入你存放你博客源码的项目,然后依次点击Settings -> Secrets,接着点击右上角的New repository secret,新建一个Secret。这里的名字要命名为ACCESS_TOKEN,然后Value就是我们上一步中所生成的 Token。
编写 Action进入项目的的Actions选项,然后新建一个workflow(我是因为已经建立过了,所以才是下面的界面),默认新建的workflow名字是main.yml这个可以自己自定义,根据你自己喜好来就行了。
生成后的main.yml位于项目的.github/workflows目录下。
接下来是在main.yml中填入如下信息即可,具体实例的可以参考我的博客实例:
https://github.com/cunyu1943/cunyu1943.github.io/
#name可以自定义name:DeployGitHubPages#触发条件:在 push 到 main/master 分支后,新的 Github 项目应该都是 main,而之前的项目一般都是 masteron:push:branches:-main#任务jobs:build-and-deploy:#服务器环境:最新版 Ubunturuns-on:ubuntu-lateststeps:#拉取代码-name:Checkoutuses:actions/checkout@v2with:persist-credentials:false#生成静态文件-name:Buildrun:npminstall&&npmrundocs:build#部署到GitHubPages-name:Deployuses:JamesIves/github-pages-deploy-action@releases/v3with:ACCESS_TOKEN:${{secrets.ACCESS_TOKEN}}#也就是我们刚才生成的secretBRANCH:gh-pages#部署到gh-pages分支,因为main分支存放的一般是源码,而gh-pages分支则用来存放生成的静态文件FOLDER:docs/.vuepress/dist#vuepress生成的静态文件存放的地方验证
经过上面的的步骤配置好之后,就可以点击仓库的Actions来查看部署情况了。
如果是绿色的,说明自动部署成功了,如果是红色,那就说明部署失败。这个时候我们可以点进去看看部署失败的日志信息。
以我部署失败的一个实例来讲,可以看到主要是在部署步骤出了问题,我们就可以根据给出的错误日志来找出问题所在,然后找方法解决它了。
我这里错误的大体意思就是说我 Vuepress 项目下的的dist目录不存在,而解决方法则是在 Vuepress 的配置文件中的dist设置为docs/.vuepress/dist即可。
总结以上就是关于 Vuepress + Github Actions 实现自动部署的所有内容了,如果对你有所帮助,那就帮忙点赞关注吧!
最后,贴出我的博客地址,可以去看看效果!
项目文件:https://github.com/cunyu1943/cunyu1943.github.io预览地址:https://cunyu1943.github.io/参考资料[1]Token 生成:https://github.com/settings/tokens
相关阅读
-
世界热推荐:今晚7:00直播丨下一个突破...
今晚19:00,Cocos视频号直播马上点击【预约】啦↓↓↓在运营了三年... -
NFT周刊|Magic Eden宣布支持Polygon网...
Block-986在NFT这样的市场,每周都会有相当多项目起起伏伏。在过去... -
环球今亮点!头条观察 | DeFi的兴衰与...
在比特币得到机构关注之后,许多财务专家预测世界将因为加密货币的... -
重新审视合作,体育Crypto的可靠关系才能双赢
Block-987即使在体育Crypto领域,人们的目光仍然集中在FTX上。随着... -
简讯:前端单元测试,更进一步
前端测试@2022如果从2014年Jest的第一个版本发布开始计算,前端开发... -
焦点热讯:刘强东这波操作秀
近日,刘强东发布京东全员信,信中提到:自2023年1月1日起,逐步为...