白嫖Github Actions 自动部署个人练习项目

166 阅读1分钟

1. .yml文件

image.png

new workflow -> set up a workflow yourself

.yml文件代码

# 该workflow的名称,可以随意填写
name: Build And Deploy To Github Pages

# workflow的触发事件,这里代表master分支的push事件触发
on:
  push:
    branches: [ master ]

# 任务
jobs:
  # build-and-deploy 为任务的ID
  build-and-deploy:
    # 运行所需要的环境
    runs-on: ubuntu-latest 

    steps:
      # 步骤名
      - name: Checkout
        # 使用的actions脚本,这里是官方提供的获取源码脚本
        uses: actions/checkout@v2.3.1
        # 这个为使用 JamesIves/github-pages-deploy-action脚本所需要的配置
        with:
          persist-credentials: false

      # 执行npm脚本打包项目
      - name: Install and Build
        run: |
          npm install
          npm run build
      
      # 执行JamesIves/github-pages-deploy-action将项目发布到Github Pages
      - name: Deploy
        uses: JamesIves/github-pages-deploy-action@3.7.1
        with:
          # 该workflow需要操作repo,因此需要一个密钥,下面会讲到如何获取这个密钥
          ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }}
          # 发布到的分支
          BRANCH: gh-pages
          # 要发布的文件夹
          FOLDER: dist
          theme: minima

注意最后一行,网上各大教程说的选择主题,现在已经改成直接配置在.yml文件里了(不配置主题可能导致最终部署的页面404)

image.png 之后点击提交(相当于一次commit)

创建密钥

关于密钥(应该不搞这个密钥也可以)

进入Github的Settings中github.com/settings/,依次点击Developer settings、Personal access tokens。然后点击Generate new token创建。因为要操作仓库,所以需要勾选repo权限。

具体请参考:创建个人访问令牌

请及时保存生成的密钥 (离开密钥页面再进去就看不到了)

将密钥存储到Github仓库

首先创建一个Github仓库(或者使用已有仓库),然后到仓库的Settings/Secret下,点击New repository secret将刚才保存的密钥保存,并命名为ACCESS_TOKEN(注意,如果这里的命名更改了,前面的yml文件中的${{ secrets.ACCESS_TOKEN }}也要更改)

2.vue.config.js中要注意的点

publicpath需要用相对路径

3.package.json中要注意的的点

https://【github名称】.github.io/【仓库名称】

4.提交代码测试

git push后,可以看到正在执行的workflows 和部署步骤

5.部署成功

成功后在仓库的setting->pages里

或者在

点击链接可以访问到页面

注意点

1.取消部署

尝试了一下取消github pages站点

取消以后每次推送代码后, 将不会进行页面构建和部署的这个工作流

需要重新运行一个pages build and deployment工作流,之后的每次提交代码都会正常自动执行此工作流

2.代码修改提交

修改代码以后需要打包以后提交,线上页面才会有变化。(待解决)

参考文章

使用Github Actions将Vue项目部署到Github Pages