这两天做毕设各种改动各种提交,无奈一直是远程交流,所以每次提交完代码后,还需要手动打包再传到github page以供展示,挑刺2333.

昨天晚上翻代码时候,突然想到可以直接使用github action解决这一问题,于是在多次err之后总算调配好了参数。
Commit log

整个流程参考了:

Start

github action 基本概念

  1. workflow:持续集成一次运行的过程,就是一个 workflow
  2. job:一个 workflow 由一个或多个 jobs 构成
  3. step:每个 job 由多个 step 构成
  4. action:每个 step 可以依次执行一个或多个命令(action)

workflow 配置文件

点进github项目首页,在pull requests旁边的Action项。

配置整个流程需要github密钥,所以需要依据官方文档,生成密钥,然后添加到项目Setting/Secrets

命名可以随便,但后续需要用到该名称

在项目的package.json文件添加一条数据

  "homepage": "https://[username].github.io/[projectname]"

我这里用到的yml配置如下

name: github pages # workflow 名称,随便起

on:
  push:
    branches:
      - master # 操作的分支,只在master分支的push操作触发

jobs:
  build:
    runs-on: ubuntu-latest # 运行在虚拟机ubuntu-latest
    steps:

      # 第一步 获取源码,使用 actions/[email protected]
      - name: Checkout
        uses: actions/[email protected]
        with:
          persist-credentials: false
          
      # 第二布 安装和打包 使用npm install && build  
      - name: Install and Build
        run: |
          npm install
          npm run build:prod
      
      # 第三步 部署到github page 使用的action 为 JamesIves/[email protected]/v3
      # 这一步需要依赖于之前配置好的密钥 ACCESS_TOKEN,构建分支BRANCH,构建目录FOLDER

      - name: Deploy to GitHub Pages
        uses: JamesIves/[email protected]/v3
        with:
          ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }}
          BRANCH: gh-pages
          FOLDER: dist

后续保存该文件,github action将会自动运行

问题

为什么昨晚提交会多次出现问题呢

  1. 使用actions/[email protected]需要搭配
  with:
    persist-credentials: false
  1. 项目多次在运行到第三步出现问题
# 应该使用with: + 下方的配置变量
# 使用env出现分支错误
env:
  ACCESS_TOKEN: ...
  BRANCH: ...
  FOLDER: ...
  1. 可能存在的问题
# 项目应该必须为public,而不是private
# 否则无法部署到github page .....
Last modification:April 22nd, 2020 at 10:07 am
如果觉得我的文章对你有用,请随意赞赏