【问题标题】:How to add the build files as an asset to a release in Github?如何将构建文件作为资产添加到 Github 中的发布?
【发布时间】:2021-12-18 19:56:39
【问题描述】:

我有一个基于 Node/npm 的项目并使用 commitlint、husky 和语义发布。每当我推送到受保护的 main 分支时,我都想创建一个新版本。

在 Github 中我添加了以下工作流程

name: Release on push on main

on:
  push:
    branches:
      - main

jobs:
  release-on-push-on-main:
    runs-on: ubuntu-latest

    steps:
      - 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: Release
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: npx semantic-release --branches main

这工作做得很好。当移动到发布时,我看到语义发布附加了源代码

运行npm run build 会为我生成一个包含所有构建文件的dist 文件夹。如何增强我的工作流程以将构建添加到资产?

添加步骤

  - name: Run build
    run: npm run build

  - name: Archive build
    uses: actions/upload-artifact@v2
    with:
      name: build
      path: dist

在运行 Release 步骤之前似乎按预期工作

但如何将其作为资产添加到版本中?

【问题讨论】:

    标签: github npm github-actions semantic-release


    【解决方案1】:

    你需要配置语义释放github-plugin 使用configuration file

    CLI 使用一些默认配置,如果您需要自定义配置 您必须从头开始创建整个配置(据我所知)。

    在根项目文件夹中创建一个名为 release.config.js 的文件:

    // make sure you install @semantic-release/github as dev dependency
    module.exports =  {
      "plugins": [
        // additional config...
    
        ["@semantic-release/github", {
          "assets": [
            {"path": "dist/asset.min.css", "label": "CSS distribution"},
            {"path": "dist/asset.min.js", "label": "JS distribution"}
          ]
        }],
      ]
    }
    

    我还可以推荐使用语义释放的替代方法 叫atomic-release。 它是一个带有发布 NPM 包的策略的 SDK(有点像语义发布)。看看GithubNpmPackageStrategy

    免责声明:我是 atomic-release 的作者。

    【讨论】:

    猜你喜欢
    • 2023-01-29
    • 2014-08-26
    • 2023-02-07
    • 2013-09-28
    • 2013-03-05
    • 1970-01-01
    • 2014-09-10
    • 1970-01-01
    • 2023-03-04
    相关资源
    最近更新 更多