0


超详细!!!最新的VuePress + Github Pages + Github Actions实现博客自动部署

超详细!!!VuePress + Github Pages + Github Actions实现博客自动部署

本文着重讲述如何使用通过

  1. Github Actions

  1. VuePress

项目部署自动在

  1. Github Pages

上。每一位开发者有一个自己的博客网站是一件很酷的事情,由于最近想整理一下在学习前端过程中的学习心得、体会等内容,因此一直想搭建一份自己的博客系统,用于后期的知识点回顾。其实在此之前,有使用hexo进行博客的搭建,但是Vue写多了以后,想用VuePress也搭建一个,并作为后期文档维护的网站。

在这里打个小广告。我的博客是在一位开源大佬的基础上搭建的,内容包含了HTML、CSS、JS/TS、VUE、REACT等一些列前端技术点,面试技巧等内容。由于之前的大佬不维护了,因此我借鉴过来并且继续与时俱进的维护内容,内容免费,仅作为学习参考,感兴趣的可以去看看,谢谢大家!!!去看看

一、准备一个VuePress静态页面

在完成部署前,需要准备一个使用VuePress搭建的项目,如果这一步大家还没完成或者想回顾一下的话,可以参考我的这一篇文章,详细介绍了如何使用VuePress搭建一个博客项目。传送门

二、搭建一个Github Pages页面

GitHub Pages 是 GitHub 提供的一项服务,允许用户直接在 GitHub 仓库中托管静态网站。这意味着你可以使用它来创建和发布个人项目、文档或博客等内容,并且这些内容将被托管在 GitHub 的服务器上。

注意:

1、我们只能为每个 GitHub 帐户创建一个用户或组织站点,也就是大家熟知的,仓库的名字必须是

  1. <username>.github.io

或者对于组织来说是

  1. <organizationname>.github.io

这种类型的仓库,这种仓库只能有一个;

2、项目站点没有限制,URL一般来说都是

  1. <username>.github.io/<project-name>

。项目页面用于展示特定项目的文档或信息。

本文主要讲解一下第一种,仓库的名字必须是

  1. <username>.github.io

的个人用户站点。

创建仓库

在个人的主页,先点右上角的加号,然后点击

  1. New repository

按钮。

在这里插入图片描述

进入这个页面后进行仓库创建,这里为了让大家看的更明白一点进行了页面的翻译,如果是英文的页面内容也是一样的。

这里存储库的名称格式需要为

  1. <username>.github.io

,添加README.md文件。其他的描述、是否公开等都可以根据自己的需要进行选择。

这一步很关键,仓库名称一定一定一定是

  1. <username>.github.io

这种格式,否则不会生效。

在这里插入图片描述

仓库创建成功后,依次点击Settings→Pages→Visit site,打开访问已发布的网站。

我这里的Source选择的是分支,如果希望从其他的分支构建页面,可以在Branch中进行切换。在

  1. Custom domain

中可以配置自己的域名进行访问。这些都根据个人需要进行配置。

在这里插入图片描述

三、配置Github Actions

1、生成Token

要部署 Actions,那么它就需要有能够操作我们仓库的权限,因此需要提前设置个人访问令牌(Github personal access)。

首先点击个人的头像,点击

  1. Settings

进入设置。

在这里插入图片描述

往下滑动,找到

  1. Developer settings

在这里插入图片描述

依次点击,进行token的创建

在这里插入图片描述

这里也是为了大家查看进行了翻译哈,笔记那里就是这个令牌的用途,到期那里就选择

  1. No expiration

,也就是无期限的意思。最后就是选权限,一般来讲这里选

  1. repo

(回购)就够了,但是如果你不确定,那就全都选上也行。然后点击最下方的

  1. Generate Token

,会生成一个令牌。

注意这里它只会出现一次,一旦刷新该网页就不见了,所以最好把它复制到你的备忘录备份一下,而且我们待会也是需要用到这个 Token 的。

在这里插入图片描述

2、设置 Secrets

上一步,我们已经生成了一个令牌,现在需要将这个令牌与你创建的Pages仓库进行绑定。

在创建的仓库中,依次点击

  1. Settings

=>

  1. Actions

=>

  1. New repository secret

在这里插入图片描述

将上一步生成的token复制进行并保存。

在这里插入图片描述

3、设置Actions

进入项目的的

  1. Actions

选项,然后新建一个

  1. workflow

(我是因为已经建立过了,所以才是下面的界面),默认新建的

  1. workflow

名字是

  1. main.yml

这个可以自己自定义,根据你自己喜好来就行了。

在这里插入图片描述

进入到这个页面以后往下拉,找的

  1. pages

中的

  1. Static Html

并进行选择。

在这里插入图片描述

如果你是其他的模板就选择其他的类型。

在这里插入图片描述

这时候会生成一个static.yml的文件,该文件会保存在项目的

  1. .github/workflows

目录下。我把这个文件的名字改成了deploy.yml,你不想改也没事。

不过这个yml文件的内容需要修改,根据我下发提供的代码来哦!!!

在这里插入图片描述

4、配置yml文件

为了让大家更好的理解这个yml文件,我先给大家简单讲讲这个yml文件的语法,感兴趣的小伙子可以直接去看官方文档。

Yml文件的关键部分

  1. name: - 工作流的名称。
  2. on: - 触发工作流的事件,如 pushpull_request
  3. jobs: - 工作流中的一系列作业(job)。
  4. runs-on: - 指定作业运行的操作系统环境。
  5. steps: - 每个作业包含的一系列步骤。

YAML 语法要点

  • 缩进:YAML 使用缩进来表示层次关系。通常使用两个空格进行缩进。
  • 键值对:使用冒号后跟一个空格来分隔键和值。
  • 数组:使用减号 - 来表示数组或列表。
  • 映射:使用冒号 : 来表示映射或字典。

特殊关键字

  • uses: - 表示使用某个 GitHub Action。
  • run: - 表示执行一个命令或一组命令。
  • with: - 提供给 Action 的参数。
  • if: - 控制步骤是否执行的条件。

关键配置范例详解

  1. name: Example Workflow # 工作流的名称,如果省略,则使用当前文件名run-name: Deploy by @${{ github.actor }}# 从工作流生成的工作流运行的名称,如果省略,则使用提交时的commit信息on:# 触发工作流的事件push:branches:[ main ]# 当推送至 main 分支时触发pull_request:branches:[ main ]# 当创建针对 main 分支的拉取请求时触发jobs:# 定义工作流中的作业build:# 作业的名称runs-on: ubuntu-latest # 指定运行环境# 每个任务下的运行步骤,短横杠 - 表示一个步骤,从上至下依次执行。steps:# 作业中的步骤-name: Checkout code # 检出代码uses: actions/checkout@v3 # 一般直接使用别人预先设置好的Actions 如使用actions/checkout@v3-name: Set up Python
  2. uses: actions/setup-python@v4
  3. with:python-version:'3.9'# 设置 Python 版本-name: Install dependencies
  4. run:|
  5. python -m pip install --upgrade pip
  6. pip install -r requirements.txt # 安装依赖项-name: Run tests
  7. run:|
  8. python test.py # 运行测试脚本-name: Deploy
  9. if: success() # 如果所有先前的步骤成功,则执行部署run:|
  10. echo "Deploying to production..." # 部署到生产环境

通过以上内容的了解与学习,大家可以尝试写一下我们部署Github Pages需要的yml,下面我也给出了完整的案例供大家学习参考。

我这里将打包后的文件放到了

  1. FrontPages

分支中,如果没有这个分支的话,大家记得创建一下,然后在Settings中修改一下部署的分支为

  1. FrontPages

。如果不想创建新的分支也行,那就把打包出来的文件放到dist文件夹中,Settings中要指定到这个dist文件夹。

在这里插入图片描述

下面请看代码

  1. # 工作流的名称name: Build and deploy
  2. # 从工作流生成的工作流运行的名称run-name: Deploy by @${{ github.actor }}# 触发工作流的事件on:push:branches:[ main ]# 当 main 分支有新的推送时,此工作流会被启动。workflow_dispatch:# 或者手动触发工作流时,此工作流会被启动。# 当前流程要执行的任务jobs:build:# 这部分指定了作业将在 ubuntu-latest 环境下运行。runs-on: ubuntu-latest
  3. # 每个任务下的运行步骤,短横杠 - 表示一个步骤,从上至下依次执行。steps:-name: checkout # 检出代码-uses: actions/checkout@v2 # 使用 actions/checkout action 检出代码到工作空间。# 这一步安装 Node.js v16。-name: Use Node.js
  4. uses: actions/setup-node@v1
  5. with:node-version:'16'# 缓存 npm node_modules-name: Cache dependencies
  6. uses: actions/cache@v3
  7. id: npm-cache
  8. with:path:|
  9. ~/.npm**/node_moduleskey: ${{ runner.os }}-npm-cache-${{ hashFiles('**/package-lock.json')}}restore-keys:|
  10. ${{ runner.os }}-npm-cache-# 安装依赖 npm-name: Install dependencies
  11. # 如果没有命中缓存才执行 npm installif: steps.npm-cache.outputs['restore-keys'] == ''
  12. run: npm install
  13. # 运行构建脚本-name: Run Build Script
  14. run: npm run build
  15. -name: Deploy
  16. uses: JamesIves/github-pages-deploy-action@releases/v3
  17. with:# env:# 部署到 FrontPages 分支BRANCH: FrontPages
  18. # 部署目录为 VuePress 的默认输出目录FOLDER: docs/.vuepress/dist
  19. # 当前仓库的密钥SSH_PRIVATE_KEY: ${{ secrets.DEPLOY_PRIVATE_KEY }}

yml文件配置好后,确保这个文件的位置是在

  1. .github/workflows/

下。

在这里插入图片描述

然后可以点击仓库中的Actions查看进度,如果变成红色的那就是出错了,可以点进去查看错误原因,如果是绿色的话,那就是部署成功的。

在这里插入图片描述

等部署完成以后,点击最新的流程结果,可以看到如下内容,然后点击那个链接就可以看到部署的结果啦。

在这里插入图片描述

恭喜你,已经完成了人生成就——独立部署一个静态页面。继续加油吧!都看到这里了,麻烦点个赞吧!谢谢支持!!!


本文转载自: https://blog.csdn.net/m0_59415345/article/details/141202632
版权归原作者 VT.馒头 所有, 如有侵权,请联系我们删除。

“超详细!!!最新的VuePress + Github Pages + Github Actions实现博客自动部署”的评论:

还没有评论