@gbits-jszx/gw-cli 2026.9.11-18 → 2026.910.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -8,34 +8,19 @@ GW-Framework 的跨平台构建、运行和交付工具。公网 registry 为 `h
|
|
|
8
8
|
|
|
9
9
|
## 日期版本号
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
CLI 显示版本使用 `yyyy.MM.dd.id`,例如 `2026.09.10.1` 表示 2026 年 9 月 10 日第 1 次打包。`npm package`、`npm publish` 和 `publish npm` 默认 `--version auto`,按执行机器的本地日期生成,序号从 1 开始、同日递增、跨日重置。也可用 `--version 2026.09.10.7` 指定版本,日期须有效,序号须为不带前导零的正整数。
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
npm 的 SemVer 不接受四段数字或带前导零的月日,所以 npm 包版本采用 `yyyy.(MM×100+dd).id`。例如:
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
| CLI 显示 / `--version` 输入 | npm 包版本 / 安装版本 |
|
|
16
|
+
|---|---|
|
|
17
|
+
| `2026.01.02.1` | `2026.102.1` |
|
|
18
|
+
| `2026.09.10.7` | `2026.910.7` |
|
|
19
|
+
| `2026.12.31.12` | `2026.1231.12` |
|
|
16
20
|
|
|
17
|
-
|
|
21
|
+
这些是可按日期和序号排序的正式版本,可正常使用 `@latest`。包内 `package.json` 的 `version` 保存 npm 版本,`gwVersion` 保存四段显示版本;Windows/Linux 二进制编译时写入同一个显示版本,`gw-cli --version` 不会回退到源码包的旧版本。
|
|
18
22
|
|
|
19
|
-
序号记录位于
|
|
20
|
-
|
|
21
|
-
## 镜像 tag
|
|
22
|
-
|
|
23
|
-
`image build` 默认 `--tag auto`,生成 `yyyy.M.d-id`,例如 `2026.9.10-1`。该格式同时满足 Docker tag 与 Helm SemVer,Image 和 Chart 在 Harbor 中可使用完全一致的版本字符串。日期按执行 CLI 的机器本地时间计算,序号从 1 起,同日递增、跨日重置。参数优先级为 `--tag` > `GW_IMAGE_TAG` > `auto`;自动和新显式版本使用新格式,已存在的 `yyyy.MM.dd.id` 仍可显式重建或推送。
|
|
24
|
-
|
|
25
|
-
镜像与 npm 独立计数,编号同样写入用户级 `projects.yaml`。开始构建时即占号,失败也保留,但只有成功构建才更新该 repository 的最近可推送 tag。同一 `project-id` 的不同镜像 repository 共用镜像每日序号,各自保存最近成功构建。显式 tag 可用于本地重建;不查询 Harbor。换机器或 CI 多节点构建时,应统一分配并显式传入未发布 tag,不能覆盖已发布镜像。
|
|
26
|
-
|
|
27
|
-
```powershell
|
|
28
|
-
# 自动编号,输出 Docker 构建日志及最终完整镜像名
|
|
29
|
-
npx -y --prefer-online @gbits-jszx/gw-cli@latest image build
|
|
30
|
-
# 自动使用该 repository 最近一次成功构建的 tag,不生成新编号
|
|
31
|
-
npx -y --prefer-online @gbits-jszx/gw-cli@latest image push
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
`image push` / `publish image` 的默认 `--tag auto` 会读取最近成功构建记录;没有记录时要求先 build 或显式传入 tag。优先级为 `--tag` > `GW_IMAGE_TAG` > 自动识别;为兼容已有本地镜像,显式推送仍接受旧 tag 格式。以上行为在源码修改发布后才进入 npm `@latest`,发布前用 `go run ./tools/cli image build` 验证。
|
|
35
|
-
|
|
36
|
-
## Chart 版本
|
|
37
|
-
|
|
38
|
-
`chart package` 默认生成与镜像一致的 `yyyy.M.d-id`,例如 `2026.9.10-1`;Chart metadata、归档名和 Harbor OCI tag 不再二次映射或添加 project-id 前缀。`chart push` 默认复用 `projects.yaml` 中尚未发布且文件仍存在的精确归档;没有可复用包时自动分配下一版本、打包并推送。旧的 `{project-id}-yyyy.MM.dd.id`、`yyyy.MM.dd.id` 和合法 SemVer 仍可显式用于重建或回滚。
|
|
23
|
+
序号记录位于 `.gw-build/npm/versions/`,打包开始即占用;失败和 dry-run 也占用一次,避免自动重用版本。并发自动打包不会重复分配;手动指定版本可用于重打包或在本地验证后发布。每份仓库独立编号,不查询 registry;清理记录、换机器或 CI 并行发布时,需统一分配并显式传入未发布的版本。`publish npm` 会重新编译源码,要沿用已验证的版本号应显式指定 `--version`。
|
|
39
24
|
|
|
40
25
|
## 使用
|
|
41
26
|
|
|
@@ -59,16 +44,14 @@ npx -y --prefer-online @gbits-jszx/gw-cli@latest k3s init --dry-run
|
|
|
59
44
|
npx -y --prefer-online @gbits-jszx/gw-cli@latest k3s init
|
|
60
45
|
```
|
|
61
46
|
|
|
62
|
-
目标机器需预先安装并运行 k3s、安装 Helm,并允许当前用户访问 kubeconfig。Windows 默认走 `Ubuntu-24.04` WSL,Linux 直接执行;不自动安装 k3s 或 Helm。PostgreSQL 参数使用 `--pgsql-*`,数据库名为 `--pgsql-dbname
|
|
47
|
+
目标机器需预先安装并运行 k3s、安装 Helm,并允许当前用户访问 kubeconfig。Windows 默认走 `Ubuntu-24.04` WSL,Linux 直接执行;不自动安装 k3s 或 Helm。PostgreSQL 参数使用 `--pgsql-*`,数据库名为 `--pgsql-dbname`。密码缺省复用或随机生成,缺少 Docker 登录配置时跳过 imagePullSecret。完整说明见 [k3s 初始化](../../../docs/user-docs/K3S-INIT.md)。源码修改发布后才会进入 npm `@latest`。
|
|
63
48
|
|
|
64
49
|
## 发布凭据
|
|
65
50
|
|
|
66
|
-
首次执行任何命令(含帮助、版本、doctor、dry-run)均检查用户配置;不存在或缺少 `project-id` 时引导填写项目代号,Harbor 地址与项目分别默认 `szharbor.g-bits.com`、`jszx-infra`,提示默认值可回车采用。旧配置中的发布凭据保留。镜像和 Chart 仓库末段统一为 `{project-id}`,Chart 打包也使用该包名。CI 需预先准备含 `project-id` 的配置。见 [首次配置说明](../../../configs/README.md)。
|
|
67
|
-
|
|
68
51
|
```powershell
|
|
69
|
-
npx -y --prefer-online @gbits-jszx/gw-cli@latest publish npm --version 2026.
|
|
70
|
-
npx -y --prefer-online @gbits-jszx/gw-cli@latest publish image
|
|
71
|
-
npx -y --prefer-online @gbits-jszx/gw-cli@latest publish chart
|
|
52
|
+
npx -y --prefer-online @gbits-jszx/gw-cli@latest publish npm --version 2026.09.10.1
|
|
53
|
+
npx -y --prefer-online @gbits-jszx/gw-cli@latest publish image --tag 0.2.1-dev
|
|
54
|
+
npx -y --prefer-online @gbits-jszx/gw-cli@latest publish chart --version 0.2.1
|
|
72
55
|
```
|
|
73
56
|
|
|
74
57
|
缺少 npm Token 或 Harbor Robot 账号/密码时,CLI 会询问并自动保存到 `~/jszx-infra/.gw-cli/config.yaml`;可用 `GW_CLI_CONFIG` 覆盖位置。已有配置不重复询问。命令参数、`NODE_AUTH_TOKEN` / `GW_HARBOR_USERNAME` / `GW_HARBOR_PASSWORD` 优先于用户配置。
|
|
@@ -83,13 +66,13 @@ Token 和密码在终端中不回显。配置文件保存明文凭据,Unix 下
|
|
|
83
66
|
# 自动使用当天序号,终端会打印版本和文件名
|
|
84
67
|
go run ./tools/cli npm package
|
|
85
68
|
# 或显式指定版本
|
|
86
|
-
go run ./tools/cli npm package --version 2026.
|
|
87
|
-
npx -y --package ./.gw-build/npm/gbits-jszx-gw-cli-2026.
|
|
88
|
-
npx -y --package ./.gw-build/npm/gbits-jszx-gw-cli-2026.
|
|
69
|
+
go run ./tools/cli npm package --version 2026.09.10.1
|
|
70
|
+
npx -y --package ./.gw-build/npm/gbits-jszx-gw-cli-2026.910.1.tgz gw-cli --version
|
|
71
|
+
npx -y --package ./.gw-build/npm/gbits-jszx-gw-cli-2026.910.1.tgz gw-cli build all
|
|
89
72
|
# 只检查发布包,不上传、不询问 Token
|
|
90
73
|
go run ./tools/cli publish npm --dry-run
|
|
91
74
|
# 真正发布:输入具备 @gbits-jszx/gw-cli 发布权限的 npm Token
|
|
92
|
-
go run ./tools/cli publish npm --version 2026.
|
|
75
|
+
go run ./tools/cli publish npm --version 2026.09.10.1
|
|
93
76
|
```
|
|
94
77
|
|
|
95
|
-
发布后的版本号不可复用。这里的 `gw-cli` 是包内命令名,公网下载始终使用 scoped 包 `@gbits-jszx/gw-cli`。
|
|
78
|
+
发布后的版本号不可复用。这里的 `gw-cli` 是包内命令名,公网下载始终使用 scoped 包 `@gbits-jszx/gw-cli`。
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -9,12 +9,12 @@
|
|
|
9
9
|
"files": [
|
|
10
10
|
"bin"
|
|
11
11
|
],
|
|
12
|
-
"gwVersion": "2026.
|
|
12
|
+
"gwVersion": "2026.09.10.6",
|
|
13
13
|
"license": "MIT",
|
|
14
14
|
"name": "@gbits-jszx/gw-cli",
|
|
15
15
|
"publishConfig": {
|
|
16
16
|
"access": "public",
|
|
17
17
|
"registry": "https://registry.npmjs.org/"
|
|
18
18
|
},
|
|
19
|
-
"version": "2026.
|
|
19
|
+
"version": "2026.910.6"
|
|
20
20
|
}
|