Skip to content

Commit c1622f9

Browse files
committed
chore: release v2.0.0
1 parent 86128a7 commit c1622f9

10 files changed

Lines changed: 517 additions & 115 deletions

File tree

.dockerignore

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
node_modules
2+
.output
3+
.nuxt
4+
.data
5+
.git
6+
.github
7+
*.md
8+
src

.github/workflows/build_release.yml

Lines changed: 0 additions & 52 deletions
This file was deleted.

.github/workflows/ci.yml

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,33 @@ name: CI
22

33
on:
44
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
58

69
jobs:
7-
docker:
10+
build:
811
runs-on: ubuntu-latest
12+
13+
strategy:
14+
matrix:
15+
node-version: [20]
16+
917
steps:
10-
- name: Set up QEMU
11-
uses: docker/setup-qemu-action@v3
18+
- name: Checkout
19+
uses: actions/checkout@v4
1220

13-
- name: Set up Docker Buildx
14-
uses: docker/setup-buildx-action@v3
21+
- name: Install pnpm
22+
uses: pnpm/action-setup@v4
1523

16-
- name: Login to Docker Hub
17-
uses: docker/login-action@v3
24+
- name: Setup Node.js ${{ matrix.node-version }}
25+
uses: actions/setup-node@v4
1826
with:
19-
username: ${{ secrets.DOCKERHUB_USERNAME }}
20-
password: ${{ secrets.DOCKERHUB_TOKEN }}
27+
node-version: ${{ matrix.node-version }}
28+
cache: pnpm
2129

22-
- name: Build and push
23-
uses: docker/build-push-action@v6
24-
with:
25-
platforms: linux/amd64,linux/arm64
26-
push: true
27-
tags: ikxin/kms-tools:latest
30+
- name: Install dependencies
31+
run: pnpm install
32+
33+
- name: Build
34+
run: pnpm run build

.github/workflows/docker.yml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: Docker
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
8+
jobs:
9+
docker:
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
- name: Checkout
14+
uses: actions/checkout@v4
15+
16+
- name: Docker meta
17+
id: meta
18+
uses: docker/metadata-action@v5
19+
with:
20+
images: |
21+
ikxin/kms-tools
22+
ghcr.io/${{ github.repository }}
23+
tags: |
24+
type=semver,pattern={{version}}
25+
type=semver,pattern={{major}}.{{minor}}
26+
type=semver,pattern={{major}}
27+
type=raw,value=latest
28+
29+
- name: Set up QEMU
30+
uses: docker/setup-qemu-action@v3
31+
32+
- name: Set up Docker Buildx
33+
uses: docker/setup-buildx-action@v3
34+
35+
- name: Login to Docker Hub
36+
uses: docker/login-action@v3
37+
with:
38+
username: ${{ secrets.DOCKERHUB_USERNAME }}
39+
password: ${{ secrets.DOCKERHUB_TOKEN }}
40+
41+
- name: Login to GitHub Container Registry
42+
uses: docker/login-action@v3
43+
with:
44+
registry: ghcr.io
45+
username: ${{ github.repository_owner }}
46+
password: ${{ secrets.GITHUB_TOKEN }}
47+
48+
- name: Build and push
49+
uses: docker/build-push-action@v6
50+
with:
51+
context: .
52+
platforms: linux/amd64,linux/arm64
53+
push: true
54+
tags: ${{ steps.meta.outputs.tags }}
55+
labels: ${{ steps.meta.outputs.labels }}
56+
cache-from: type=gha
57+
cache-to: type=gha,mode=max

.github/workflows/release.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
8+
permissions:
9+
contents: write
10+
11+
jobs:
12+
release:
13+
runs-on: ubuntu-latest
14+
15+
steps:
16+
- name: Checkout
17+
uses: actions/checkout@v4
18+
19+
- name: Install pnpm
20+
uses: pnpm/action-setup@v4
21+
22+
- name: Setup Node.js
23+
uses: actions/setup-node@v4
24+
with:
25+
node-version: 20
26+
cache: pnpm
27+
28+
- name: Install dependencies
29+
run: pnpm install
30+
31+
- name: Build
32+
run: NITRO_PRESET=node-server pnpm run build
33+
34+
- name: Package artifacts
35+
run: |
36+
cd .output
37+
tar -czf ../kms-tools-${{ github.ref_name }}.tar.gz .
38+
cd ..
39+
40+
- name: Create GitHub Release
41+
uses: softprops/action-gh-release@v2
42+
with:
43+
generate_release_notes: true
44+
files: kms-tools-${{ github.ref_name }}.tar.gz

CHANGELOG.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/).
7+
8+
## [2.0.0] - 2026-03-17
9+
10+
### 🚀 Major Changes
11+
12+
- **框架升级**: 迁移至 Nuxt 4 全栈框架,替代原有的 Vue 3 + Vite 前端架构
13+
- **架构重构**: 全面采用 Nuxt 4 的目录结构规范(`app/``server/``shared/`
14+
- **服务端渲染**: 支持 SSR 模式,提升首屏加载速度和 SEO 表现
15+
16+
### ✨ New Features
17+
18+
- 新增 KMS 服务器检测页面,支持自定义 Host、Port、Protocol 配置
19+
- 新增 KMS 服务器实时监控面板,提供可视化图表展示延迟和成功率
20+
- 新增暗色模式支持(亮色 / 暗色 / 跟随系统)
21+
- 新增国际化支持(简体中文 / English)
22+
- 新增 ECharts 图表可视化监控数据
23+
- 新增内置 VLMCSD 服务(可选启用)
24+
- 新增定时任务自动监控 KMS 服务器状态
25+
26+
### 🛠️ Improvements
27+
28+
- UI 组件库升级为 Arco Design Vue
29+
- 样式框架迁移至 Tailwind CSS
30+
- Docker 镜像支持 AMD64 和 ARM64 双架构
31+
- CI/CD 流程全面升级,使用 GitHub Actions 自动化构建和发布
32+
- Docker 镜像同步发布到 Docker Hub 和 GitHub Container Registry
33+
34+
### 📦 Dependencies
35+
36+
- Nuxt 4.4
37+
- Vue 3.5
38+
- ECharts 6.0
39+
- Tailwind CSS
40+
- Arco Design Vue
41+
- VueUse 14.2
42+
- Nuxt I18n 10.2
43+
44+
## [1.x] - Previous Releases
45+
46+
See [GitHub Releases](https://github.com/ikxin/kms-tools/releases) for details on previous versions.

Dockerfile

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
1-
FROM node:lts as builder
1+
FROM node:20-slim AS builder
22

33
WORKDIR /app
44

5+
COPY package.json pnpm-lock.yaml ./
6+
7+
RUN corepack enable && pnpm install --frozen-lockfile
8+
59
COPY . .
610

7-
RUN corepack enable \
8-
&& pnpm install \
9-
&& NITRO_PRESET=node-server pnpm run build
11+
RUN NITRO_PRESET=node-server pnpm run build
1012

11-
FROM node:lts
13+
FROM node:20-slim
1214

1315
COPY --from=builder /app/.output /app/.output
1416
COPY --from=builder /app/binaries /app/binaries

0 commit comments

Comments
 (0)