从零用VitePress搭建博客教程(7) -– 如何用Github Actions自动化部署到Github Pages?

这篇具有很好参考价值的文章主要介绍了从零用VitePress搭建博客教程(7) -– 如何用Github Actions自动化部署到Github Pages?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

接上一节:从零用VitePress搭建博客教程(6) -– 第三方组件库的使用和VitePress搭建组件库文档 

我们搭建完成vitePress后,那么接下来就是如何部署到线上服务器,这里使用Github Pages,免得自己购买服务器,当然你也可以自己购买服务器来部署(比如阿里云服务器)。

在部署之前,我们先简单了解下Github ActionsGithub Pages

一、基本概念认识

1、理解Github Actions

中文文档地址:https://docs.github.com/zh/actions

简单说,Github Actions就是GitHub官方提供的自动化(CI/CD)服务, 通过它可以完成自动化测试、集成、部署等操作。

它的优势有:

  1. 和GitHub集成更容易
  2. 支持复用其他人的基本片段

GitHub Actions的基本概念主要有以下几个:

workflow (工作流程):持续集成一次运行的过程就是一个 workflow,一个项目可以有多个workflow。

job (任务):一个 workflow 由一个或多个 jobs 构成,含义是一次持续集成的运行,可以完成多个任务。

step(步骤):每个 job 由多个 step 构成,一步步完成,step 下有 name、uses、run、with 等,表示一个 action

action (动作:每个 step 可以依次执行一个或多个命令(action)。

注意点:
yml配置文件通常存放在项目中的.github/workflows 目录,每个workflow都是.github/workflows目录下的一个文件
workflow 文件采用 YAML 格式,文件名可以任意取,但是后缀统一为 .yml。

如何执行部署的?

简单说就是,我们通过配置yml文件来执行,当提交代码到Github仓库后,就可以自动部署到Github Pages上去。

因为Github 识别到配置文件后,会自动执行配置中的工作流(主要看配置自动的情况)

yml 配置文件一些概念说明

name:  CI
 
on:
  # 手动运行工作流程(workflow_dispatch 事件触发器配置后可以在actions下手动运行工作流)
  workflow_dispatch:
  push:
    branches: 
      - master
jobs:
  # jobs的id
  build-and-deploy:
    # 指定服务器的运行环境:最新版本ubuntu
    runs-on: ubuntu-latest
    steps:
      # 使用actions/checkout@v4 库拉取代码到 ubuntu 上
      - name: Checkout
        uses: actions/checkout@v4
 
      # 安装 pnpm
      - name: Install pnpm
        uses: pnpm/action-setup@v2
        with:
          version: 8
 
      # 打包成静态文件
      - name: Build
        run: pnpm install && pnpm build

我想大家看到上面的配置代码,基本就知道意思了,这里也简单说下

常用的字段及含义如下:

name :   workflow 的名称 , 如果省略该字段,默认为当前workflow的文件名

on:  指定触发workflow的条件,通常是一些事件触发器,比如:push,  workflow_dispatch、pull_request等

steps: 简单说就是一个步骤的集合(里面有多个小步骤),从上到下执行,它有几个相关的选项

  1. name:每个小步骤的名称(可自由定义)。
  2. uses:每个小步骤使用的 actions 库名称或路径,Github Actions 允许我们使用别人写好的 Actions 库。
  3. run:  每个小步骤要执行的 shell 命令。
  4. with: 配置actions的额外参数。

2、理解Github Pages

Github Pages简单说就是可以将我们托管在Github上的项目,免费发布为对外的公共网页,免去咱们花钱买服务器。

我们可以使用 GitHub Pages 来展示一些开源项目、博客等等。

下面开始说明如何去部署我们的博客站点

二、用Github Actions自动化部署到Github Pages

主要通过以下4个步骤完成部自动化署到

1、在Gtihub上创建仓库和相关分支

2、配置github pages

3、编写自动化部署yml文件

4、找到链接地址查看博客效果

1、在Gtihub上创建仓库和相关分支

我们在Github上新建一个仓库, 这里我的项目叫vitePress-projectmaster主分支上提交我们的源代码。

然后我们再新建一个分支叫deploy-pages,清空里面的内容,这个分支用于存放pnpm build打包后的代码。

 文章来源地址https://www.toymoban.com/news/detail-711025.html

2、配置Github Pages

到vitePress-project仓库 -> Settings -> Pages 去设置Pages关联的分支deploy-pages, 如图

从零用VitePress搭建博客教程(7) -– 如何用Github Actions自动化部署到Github Pages?

3、编写自动化部署配置文件

有两种方法可以创建自动化部署文件

1、直接去github仓库/Actions下新建一个自动部署文件ci.yml(ci.yml名字可以自定义),然后修改内容即可

2、手动创建,如下所示

从零用VitePress搭建博客教程(7) -– 如何用Github Actions自动化部署到Github Pages?

ci.yml配置内容如下

name: GitHub Actions Build and Deploy
 
on:
  # 手动运行工作流程(workflow_dispatch 事件触发器配置后可以在actions下手动运行工作流)
  workflow_dispatch:
 
jobs:
  build-and-deploy:
    runs-on: ubuntu-latest  #指定服务器的运行环境:最新版本ubuntu
    steps:
      # 使用actions/checkout@v4 库拉取代码到 ubuntu 上
      - name: Checkout
        uses: actions/checkout@v4
        with:
          # 根据网上资料查询此处可以设置为 false。https://github.com/actions/checkout
          persist-credentials: false
 
      # 安装 pnpm
      - name: Install pnpm
        uses: pnpm/action-setup@v2
        with:
          version: 8
 
      # 设置node的版本
      - name: Use Node.js
        # 使用 actions/setup-node@v3 库安装 nodejs,with 提供了一个参数 node-version 表示要安装的 nodejs 版本
        uses: actions/setup-node@v3
        with:
          node-version: '18.x'
          cache: 'pnpm'
 
      # 打包成静态文件
      - name: Build
        run: pnpm install && pnpm build
 
      # 部署到GitHub Pages - 也就是将打包内容发布到GitHub Pages
      - name: Deploy
        # 使用别人写好的 actions去部署(将打包文件部署到指定分支上)
        uses: JamesIves/github-pages-deploy-action@v4.3.3
        # 自定义环境变量
        with:
          # 指定仓库:你要发布的仓库路径名
          repository-name: msyuan/vitePress-project
          # 部署到 deploy-pages 分支,也就是部署后提交到那个分支
          branch: deploy-pages
          # 填写打包好的目录名称路径,本项目配置在根目录
          folder: dist

用到的相关插件地址:

https://github.com/actions/checkout

https://github.com/pnpm/action-setup/

https://github.com/actions/setup-node

https://github.com/JamesIves/github-pages-deploy-action

 因为我们上面配置的是手动去运行工作流,所以需手动去执行部署,如图所示

从零用VitePress搭建博客教程(7) -– 如何用Github Actions自动化部署到Github Pages?

 

可以看到正在部署中….

从零用VitePress搭建博客教程(7) -– 如何用Github Actions自动化部署到Github Pages?

4、找到链接地址查看博客效果

进入Settings -> Pages会看到博客链接地址:

预览效果:https://msyuan.github.io/vitePress-project/

同时打包后的代码也正常部署到deploy-pages分支上去了,到此已经完成部署工作

从零用VitePress搭建博客教程(7) -– 如何用Github Actions自动化部署到Github Pages?

github项目地址:https://github.com/msyuan/vitePress-project

在线预览效果:https://msyuan.github.io/vitePress-project

原文地址http://www.qianduan8.com/2072.html

 

到了这里,关于从零用VitePress搭建博客教程(7) -– 如何用Github Actions自动化部署到Github Pages?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 从零用VitePress搭建博客教程(5) - 如何自定义页面模板、给页面添加独有的className和使页面标题变成侧边目录?

    接上一节:从零用VitePress搭建博客教程(4) – 如何自定义首页布局和主题样式修改? 上一节其实我们也简单说了自定义页面模板,这一节更加详细一点说明,开始之前我们要知道在vitePress中,.md的文件是可以直接编写vue的代码的。 比如我们现在来自定义一个前端网址导航页面

    2024年02月08日
    浏览(61)
  • 『GitHub Actions』部署静态博客指南

    之前博主是使用的 Jenkins 实现 vuepress 博客的自动部署与持续交付,但是因为现在迁移服务器到海外,并且服务器配置降低。现在经常出现 服务器的 Jenkins 构建过程中 CPU 占用率过高,导致服务器卡死 然后我想的话既然只是部署 静态博客 ,似乎也没必要使用 Jenkins 这样重量级

    2024年02月08日
    浏览(55)
  • 5分钟使用VitePress + GithubAction搭建个人博客

    ✅作者:TuNan ✨个人主页:图南的个人主页 😉欢迎关注🔎点赞😍收藏⭐留言💌 先决条件 Node.js 版本 16 或更高版本。 用于通过命令行界面(CLI)访问 VitePress 的终端。 具有 Markdown 语法支持的文本编辑器。推荐使用 VSCode) 以及官方 Vue 扩展。 VitePress 可以单独使用,也可以安

    2024年02月04日
    浏览(36)
  • Hexo+Github博客搭建教程

    注意,这篇文章篇幅较长,主要针对新手,每一步很详细,所以可能会显得比较啰嗦,所以建议基础比较好小伙伴根据目录选择自己感兴趣的部分跳着看,不要文章没看,上来先喷一下!谢谢*[Math Processing Error]⊙o⊙*。 教程内容随意复制使用,引用的话请加一个参考链接,谢

    2024年01月16日
    浏览(46)
  • Hexo+Github+Netlify博客搭建教程

    ✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: 博客系列 ✨特色专栏: MySQL学习 🥭本文内容:Hexo+Github+Netlify博客搭建教程 📚个人知识库: [Leo知识库]https://gaoziman.gitee.io/blogs/),欢迎大家访

    2024年02月08日
    浏览(50)
  • Hexo+GitHub搭建个人博客教程(2023最新版)

    1、node环境 首先,安装 nodejs, 因为Hexo是基于 Node.js 驱动的一款博客框架。 ⭐nodejs下载地址 2、git 环境 然后,安装git, 一个分布式版本控制系统,用于项目的版本控制管理,作者是 Linux 之父。 ⭐Git(官网) ⭐Git for Windows(仅windows安装包) ⭐CNPM Binaries Mirror [阿里镜像](速

    2024年02月06日
    浏览(61)
  • 超详细Hexo+Github Page搭建技术博客教程

    博客有第三方平台,也可以自建,比较早的有博客园、CSDN,近几年新兴的也比较多诸如:WordPress、segmentFault、简书、掘金、知乎专栏、Github Page 等等。 这次我要说的就是 Github Page + Hexo 搭建个人博客的方式!Github Page 是 Github 提供的一种免费的静态网页托管服务(所以想想免

    2023年04月27日
    浏览(44)
  • 博客搭建教程Github+Hexo+hexo-theme-matery主题

    前情提要 写这篇文的目的 记录自己搭建过程,便于以后快速复用 总结经验和自己踩的坑,给其他小伙伴一些参考(由于是搭建后写的,所以没有参考图片) 介绍 初步效果参考我的博客:hermia的个人博客 本博客基于Hexo框架,使用github托管 使用自定义域名: hermiablog.com hexo主题

    2024年02月19日
    浏览(64)
  • Vue3+Vite+Element-plus搭建组件库并使用Vitepress编辑组件库文档且发布到 npm并且部署 github pages(vitepress文档渲染.vue组件-推荐使用第二种)

    可以参考我之前发布的vite快速搭建vue3项目文章来创建;也可以直接使用我开源Vue3.2+Ts+Vite3+Pinia+Element-Plus模板wocwin-admin 以下我以 wocwin-admin 项目为例 当前目录结构如下 1、编辑 packages/table/index.ts,实现组件的导出 2、编辑 packages/index.ts 文件,实现组件的全局注册 1、安装vite

    2024年02月13日
    浏览(149)
  • Hexo+Github搭建博客

    今天教大家搭建免费的个人博客,注意是 免费!免费!免费! 博客地址:https://1902756969.github.io/Hexo/ github地址:https://github.com/ 注册,注意是英文,因为是外链所以给大家推荐一款代理加速(不是翻墙)软件 FastGithub.UI:https://cloud.tsinghua.edu.cn/d/df482a15afb64dfeaff8/files/?p=%2Ffastgithu

    2024年02月01日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包