使用 Github Action 自动发布 VSCode插件

463 阅读1分钟

1.获取个人访问令牌

1.1 登录 azure

1.2 点击 Personal Access Tokens

image.png

1.3 点击 New Token

image.png

1.4 选择 Marketplace 权限

默认情况 Marketplace 是隐藏的, 需要点击 Show all scopes

Expiration: 过期日期(可选):设置令牌所需的到期日期

填写完 Name 后, 点击 Create

image.png

image.png

image.png

至此, Token 创建完毕, 记得保存

2. 在 github 仓库里设置 Token

保存 token 让 workflows 可以使用。

  • Name: 后面 workflows 变量名字和这里保持一致,这里我们用 VSCODE_TOKEN
  • Secret: 第一步拿到的 Token

image.png

image.png

3. 编写 github workflows

创建文件 /.github/workflows/vsx-release.yml

name: VSX Release

on:
  push:
    branches:
      # 当 push 到 master 分支时触发构建
      - "master"
      # - "vscode/**"

jobs:
  deploy:
    runs-on: ubuntu-latest

    steps:
      - name: Check out git repository
        uses: actions/checkout@v4.1.1

      - uses: pnpm/action-setup@v3
      - name: Setup Node
        uses: actions/setup-node@v4
        with:
          node-version: 20
          cache: pnpm

      # 这里我用的是 pnpm, 你们也可以换成 npm
      - name: pnpm install
        run: pnpm install

      # https://github.com/HaaLeo/publish-vscode-extension
      - name: build vscode vsx
        uses: HaaLeo/publish-vscode-extension@v1
        id: publishVSX
        with:
          # 如果项目不在根目录, 可以修改这里
          # packagePath: ./packages/vscode

          # pat 是刚刚创建的 TOKEN
          pat: ${{ secrets.VSCODE_TOKEN }}

          # 忽略市场上已存在版本错误
          skipDuplicate: true
          registryUrl: https://marketplace.visualstudio.com
          yarn: false


以上已经配置完成,只需要在下一步推送代码到 master 分支既可以看到效果

演示仓库: github.com/aooiuu/any-…

any-reader 是一款开源的多站点自定义规则聚合阅读工具, 支持小说、漫画、视频等

多端支持:VSCode插件、Electron、网页端、Docker、移动端(移动端是其它项目)

规则:由 XPath、JSONPath、CSS选择器、正则、JS脚本等组合而成

有时候, 我们希望 Github Action 生成 .vsxrelease, 而不是直接发布,上面的仓库里也有例子, 这里不展开细说了。

参考网站: