Github Actions 部署

作者: 冷r | 来源:发表于2020-05-27 17:33 被阅读0次

首先在git项目下创建一个workflow

GitHub Actions 术语。

  1. workflow (工作流程):持续集成一次运行的过程,就是一个 workflow。
  2. job (任务):一个 workflow 由一个或多个 jobs 构成,含义是一次持续集成的运行,可以完成多个任务。
  3. step(步骤):每个 job 由多个 step 构成,一步步完成。
  4. action (动作):每个 step 可以依次执行一个或多个命令(action)。
# .github/workflow/文件名.yml
# 这是基础模板
# 这个 workflow 的名字,可以随意命名
name: Node.js CI

# on触发条件
on: [push]
# 1.push事件触发workflow 
# 2.如果多个事件(on: [push,pull])
# 3.指定触发事件,可以限定分支、tag、指定文件路径(on.<push|pull_request>.<tags|branches|paths>)
#  在master分支push时触发
#   push:
#     branches:
#       - master
#     tags:
#       - v1.0.0 # 指定tags版本更新
#       - v1.*.*  #指tags版本为1.n.n都会更新
#    paths:
#       - '**.js' # 所有的js文件更新时提交触发
#       - 'doc/**'  # doc下文件发生改动触发
# 4.忽略分支、tag、某一文件    branches-ignore、tags-ignore  、paths-ignore
#    branches-ignore:
#      - dev #当提交时分支为dev 不触发
#    tags-ignore:
#      - v2   #tag为v2时不触发
# 5. 计划的工作流在默认或基本分支上的最新提交上运行。可以运行计划的工作流程的最短间隔是每5分钟一次
#   schedule:
#      - cron:  '*/5 * * * *' 
#   #  * * * * * (minute (0 - 59)、hour (0 - 23)、day of the month (1 - 31)、month (1 - 12 or JAN-DEC)、day of the week (0 - 6 or SUN-SAT))
#  # *   任何值               * * * * * 每天每一分钟运行。
#  # , 值列表分隔符      2,10 4,5 * * * 在每天的第4和5小时的第2分钟和第10分钟运行。
#  # --  取值范围              0 4-6 * * * 在第4、5和6小时的第0分钟运行。
#  # /   步长值               20/15 * * * * 从20分钟到59(每20、35和50分钟)开始,每15分钟运行一次。

jobs: 
  # 所有的 job 都是并行的,但往往会有依赖关系
  # test:
  # link: 
  #   needs: test link依赖test
  # 一个名为 build 的 job 
  build:
    # runs-on指定运行所需要的虚拟机环境,必填
    # ubuntu-latest指定Ubuntu GitHub托管的运行程序的最新版本。
    # 也可以自己定义托管环境[self-hosted, linux, ARM32]
    runs-on: ubuntu-latest

    strategy:
      matrix:
        node-version: [8.x, 10.x, 12.x]

    steps:
    # 获取源码
      - name: Checkout
        uses: actions/checkout@master # 获取master代码
        with:
          persist-credentials: false
      - name: Install and Build
        run: | #执行多个命令
          npm install
          npm run build
      - name: Deploy
        uses: JamesIves/github-pages-deploy-action@releases/v3 # 写好的action
        with:
          ACCESS_TOKEN: ${{ secrets.DEPLOY_KEY }} #自定义生成key 生成步骤在下面
          BRANCH: gh-pages #操作应部署到的分支。
          FOLDER: dist #操作应部署的文件夹。

也可以在actions里快捷生成workflow

image.png

在提交后可以再github里查看Actions部署结果

image.png image.png

部署成功后的访问地址:https://[用户名].github.io/[项目名]

注意部署时打包路径

  1. vue3.0
    vue.config.js里设置 publicPath: "/[项目名]/"
  2. react
    packagen.json 里配置 homepage:'https://[用户名].github.io/[项目名]/'

生成 secrets.DEPLOY_KEY 步骤

参考文章:

阮一峰GitHub actions 入门教程
完整的事件列表,请查看官方文档

相关文章

网友评论

    本文标题:Github Actions 部署

    本文链接:https://www.haomeiwen.com/subject/vfcgahtx.html