3

我想使用语义发布在 Github 版本上发布整个目录(构建目录),但不幸的是它将每个构建文件作为单个资产发布。

对于复制:

  • 我正在使用 Vue CLI 生成项目vue create foo
  • 将语义发布安装为开发依赖项npm install --save-dev semantic-release
  • 安装用于语义发布的 Github 插件npm install @semantic-release/github -D
  • .releaserc.json用内容创建一个

.

{
    "plugins":[
      "@semantic-release/commit-analyzer",
      "@semantic-release/release-notes-generator",
      [
        "@semantic-release/github",
        {
          "assets":[
            {
              "path":"dist",
              "label":"foo-${nextRelease.gitTag}"
            }
          ]
        }
      ]
    ]
  }
  • package.json中将version键设置为0.0.0-development
  • 使用工作流ci.yml创建一个.github/workflows目录

.

name: CI

on:
  push:
    branches:
      - main

jobs:
  ci:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout repository
        uses: actions/checkout@v2
        with:
          fetch-depth: 0

      - name: Setup Node
        uses: actions/setup-node@v2
        with:
          node-version: 16.x

      - name: Install dependencies
        run: npm install

      - name: Run build
        run: npm run build

      - name: Release
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: npx semantic-release --branches main
  • 提交并推动它feat: pushed

该版本似乎很好,但不幸的是它没有将dist目录作为单个资产发布。

在此处输入图像描述

它只是将dist中的每个文件作为单个文件发布

在此处输入图像描述

添加步骤

  - name: Log
    run: ls

显示dist目录存在

在此处输入图像描述

我该如何解决?

4

1 回答 1

2

看来这是不可能的。所以我必须在构建应用程序后添加这一步

  - name: ZIP build
    run: zip -r dist.zip dist

并将资产配置设置为

        {
          "path":"dist.zip",
          "label":"foo-${nextRelease.gitTag}.zip"
        }
于 2021-11-07T21:10:12.897 回答