yaml学习和github部署工作流记录

yaml学习和github部署工作流记录

yaml语法

学习资料:www.cnblogs.com/wenxuehai/p...

一定要注意空格的使用!!!,在key后面和' - '后面要加空格,tab是不行的

对象语法

yml 复制代码
key: 
    name: value1
    age: value2

数组语法

yml 复制代码
- val1
- val2
- val3

数组对象

yml 复制代码
alan:
 - name
    - age
    - height
july:
    - name
    - age
    - heigth

引用

yml 复制代码
name: 21
childname: ${name}

github workflow

学习资料:

阮一峰github actions: www.ruanyifeng.com/blog/2019/0...

部署上线一个简单的github-vue

在根目录文件创建.github/workflow/vue3.yml 这样就可以开始我们的第一个工作流,一个项目可以有多个工作流 ,但是只能有一个git多个工作流是多线程执行的,如果使用VScode进行编写的话 可以使用这个拓展提升开发体验

工作流分为三个流程

  • name
  • on
  • jobs

name

就是此工作流的名字,开始我们的第一步

yml 复制代码
name: vue3-test build

on

选择在哪个分支进行 git Actions 是一个数组这里,因此可以选择多个branch, workflow_dispatch 是允许gitActions选项卡进行手动执行此工作流,为了方便调试

yml 复制代码
on:
   push:
       branch: 
              - "your branch"
       workflow_dispatch:

jobs

这一段是主体 也是最重要的一部分,这里分为两个流程一个是build一个是deploy,我们逐行来了解一下

yml 复制代码
jobs: 
  # 构建工作
  build: 
    # 运行环境
      runs-on: ubuntu-latest
      steps:
        - name: Checkout
          uses: actions/checkout@v4
          with:
            persist-credentials: false
        # 指定一下node版本,这里用node20
        - name: Setup pnpm
          uses: pnpm/action-setup@v3
          with:
            version: 8
        - name: Setup Node
          uses: actions/setup-node@v4
          with:
            node-version: 20
            cache: pnpm
        # 此项用户支持使用gitPage操作,如果不使用 不写即可
          - name: Setup Pages
            uses: actions/configure-pages@v4
        # 下载依赖
        - name: ⏬ Install dependencies
          run: pnpm run install:template
        # 打包构建
        - name: 📦 Build
          run: pnpm run build:template
        # 此项用于支持gitPage操作,用户上传dist文件夹
          - name: Upload dist
            uses: actions/upload-pages-artifact@v1
            with:
              path: dist
  deploy:
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    needs: build
    runs-on: ubuntu-latest
    name: Deploy
    steps:
      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v4
build

runs-on这里代表运行环境,最好选用ubuntu-latest

  • ubuntu-latestubuntu-18.04ubuntu-16.04
  • windows-latestwindows-2019windows-2016
  • macOS-latestmacOS-10.14

setps后面就是要进行的步骤,其实就是和我们在git clone下项目后要进行的一些操作,比如

  • npm i
  • npm run build

在此之前先把系统的环境配好

yml 复制代码
      steps:
      # 检查源码
        - name: Checkout
          uses: actions/checkout@v4
          with:
            persist-credentials: false
        # 如果这里使用pnpm要单独引入pnpm 最高版本为v3
          # - name: Setup pnpm
          #   uses: pnpm/action-setup@v3
          #   with:
          #    version: 8
          # - uses: oven-sh/setup-bun@v1 # 如果使用 Bun,请取消注释
        # 指定一下node版本,这里用node20
        - name: Setup Node
          uses: actions/setup-node@v4
          with:
            node-version: 20
            cache: npm # pnpm 或者 yarn
          # 此项用户支持使用gitPage操作,用于初始化gitPages如果不使用不写即可
        - name: Setup Pages
          uses: actions/configure-pages@v4

接着就是构建流程

注意⚠️:这里是run 不是 uses 要分清,

注意⚠️:这里可以去run自己在package.json写的scripts脚本,执行目录为根目录

yml 复制代码
        # 下载依赖
        - name: ⏬ Install dependencies
          run: npm install
        # 打包构建
        - name: 📦 Build
          run: npm run build
        # 此项用于支持gitPage操作,将打包产物dist文件夹进行上传
          - name: Upload dist
            uses: actions/upload-pages-artifact@v1
            with:
              path: dist

进行到这里 所有的构建流程已经结束

deploy

deploy就是部署流程,这里大家直接复制黏贴就好,记得取settings去开启gitActions和gitPages

yml 复制代码
  deploy:
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    needs: build
    runs-on: ubuntu-latest
    name: Deploy
    steps:
      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v4
相关推荐
Running_slave5 分钟前
你应该了解的TCP滑窗
前端·网络协议·tcp/ip
程序员小寒30 分钟前
前端高频面试题之CSS篇(一)
前端·css·面试·css3
颜酱1 小时前
Monorepo 架构以及工具选型、搭建
前端·javascript·node.js
oden1 小时前
ChatGPT不推荐你?7个GEO技巧让AI主动引用你的内容
前端
李游Leo2 小时前
前端安全攻防指南:XSS / CSRF / 点击劫持与常见防护实践(含真实案例拆解)
前端·安全·xss
我命由我123452 小时前
微信开发者工具 - 模拟器分离窗口与关闭分离窗口
前端·javascript·学习·微信小程序·前端框架·html·js
E***q5392 小时前
Vue增强现实开发
前端·vue.js·ar
S***42802 小时前
JavaScript在Web中的Angular
前端·javascript·angular.js
黑幕困兽2 小时前
ehcarts 实现 饼图扇区间隙+透明外描边
前端·echarts
San302 小时前
深入理解 JavaScript 词法作用域链:从代码到底层实现机制
前端·javascript·ecmascript 6