diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 67ad9ec..00077ed 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -3,7 +3,7 @@ on: workflow_dispatch: inputs: tag: - description: "已存在的正式版本标签,例如 v0.3.17" + description: "已存在的正式版本标签,例如 v0.3.15" required: true type: string push: @@ -30,7 +30,7 @@ jobs: ARTEX_DOCKER_IMAGE: ${{ vars.ARTEX_DOCKER_IMAGE }} run: | if [[ ! "$RELEASE_TAG" =~ ^v(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)$ ]]; then - echo "正式版本必须是 v主版本.次版本.修订号,例如 v0.3.17" >&2 + echo "正式版本必须是 v主版本.次版本.修订号,例如 v0.3.15" >&2 exit 1 fi if [[ ! "$ARTEX_DOCKER_IMAGE" =~ ^[a-z0-9][a-z0-9_-]*/[a-z0-9]+([._-][a-z0-9]+)*$ ]]; then diff --git a/CHANGELOG.md b/CHANGELOG.md index a40502c..01e592c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,19 +4,13 @@ ## [Unreleased] -## [0.3.17] - 2026-10-09 +### 部署与发布维护(保持程序版本 0.3.15) -### 部署与发布 - -- 迁移至独立的 `RuoJi6/ARTEX` 仓库,保留原提交历史、分支、标签及历史发布包。 -- GitHub Actions 构建五个平台的程序包,并在原生 AMD64、ARM64 runner 上构建和测试 Docker Hub 镜像。 -- 镜像启动、数据库连接及内嵌前端验证通过后,发布版本镜像、`latest` 与完整 GitHub Release。 -- Compose、环境变量示例与部署说明使用本仓库的镜像;补充已有部署保留数据的迁移方式。 -- 页面在线更新继续从 `RuoJi6/ARTEX` 的正式 Release 下载程序。 - -## [0.3.16] - 2026-10-09 - -- 页面在线更新源改为 `RuoJi6/ARTEX`,支持通过 GitHub Actions 编译并发布五个平台程序包和 SHA256 校验文件。 +- 迁移至独立的 `RuoJi6/ARTEX` 仓库,保留原提交历史与分支。 +- 页面在线更新源为 `RuoJi6/ARTEX`;GitHub Actions 构建五个平台程序包和 SHA256 校验文件。 +- 在原生 AMD64、ARM64 runner 上构建 Docker Hub 镜像,并验证程序启动、数据库连接和内嵌前端。 +- 两种架构验证通过后,发布 `v0.3.15`、`latest` 镜像及对应程序包。 +- Compose 和部署说明使用本仓库的镜像,补充已有部署保留数据的迁移方式。 ## [0.3.15] - 2026-10-07 diff --git a/README.md b/README.md index a4720cd..6f73fc4 100644 --- a/README.md +++ b/README.md @@ -95,7 +95,7 @@ docker compose up -d # 拉取 ruoji6/artex 镜像 + postgres 镜像已含常用工具(ripgrep/curl/vim/npm/nmap…);`./skills` 与 `./data` 以绑定挂载持久化。 -`.env` 中默认 `ARTEX_IMAGE=ruoji6/artex`,`ARTEX_TAG=latest` 使用最新镜像,也可固定为 `v0.3.17`(完整镜像地址 `ruoji6/artex:v0.3.17`)。镜像支持 `linux/amd64` 和 `linux/arm64`,Docker 会自动选择与宿主机匹配的架构,ARM64 Kali 无需自行编译。初次部署请修改 `POSTGRES_PASSWORD`;运行服务无需配置 Docker Hub 发布 Token。 +`.env` 中默认 `ARTEX_IMAGE=ruoji6/artex`,`ARTEX_TAG=latest` 使用最新镜像,也可固定为 `v0.3.15`(完整镜像地址 `ruoji6/artex:v0.3.15`)。镜像支持 `linux/amd64` 和 `linux/arm64`,Docker 会自动选择与宿主机匹配的架构,ARM64 Kali 无需自行编译。初次部署请修改 `POSTGRES_PASSWORD`;运行服务无需配置 Docker Hub 发布 Token。 远程 MCP 可在系统设置中选择 `http`(Streamable HTTP)或 `sse`(旧版 SSE)。 旧版 SSE 服务通常使用 `GET /sse` 建立事件流,再通过服务返回的 @@ -165,12 +165,12 @@ ARTEX_TARGETS=linux/amd64,windows/amd64 ./build.sh --release ### 维护者:通过 GitHub Actions 发布在线更新 -发布工作流为 `.github/workflows/release.yml`。推送正式标签会触发构建,也可在 Actions → release → Run workflow 中输入已存在的标签重新执行失败的发布。标签必须是 `v主版本.次版本.修订号`,例如下例的 `v0.3.17`;后续版本必须高于用户正在运行的版本。 +发布工作流为 `.github/workflows/release.yml`。推送正式标签会触发构建,也可在 Actions → release → Run workflow 中输入已存在的标签重新执行失败的发布。标签必须是 `v主版本.次版本.修订号`,例如下例的 `v0.3.15`;后续版本必须高于用户正在运行的版本。 ```bash git push origin main -git tag v0.3.17 -git push origin v0.3.17 +git tag v0.3.15 +git push origin v0.3.15 ``` 工作流固定标签对应的提交,用 Node.js 22 导出前端,按照 `go.mod` 指定的 Go 版本编译内嵌前端的五个平台程序,并生成 ZIP 与 `SHA256SUMS`。AMD64 和 ARM64 镜像分别在 GitHub 原生 runner 上构建,连接临时 PostgreSQL 验证程序启动、版本和内嵌前端;两种架构都通过后发布多架构镜像的版本标签与 `latest`。镜像发布成功后上传完整 ZIP 和校验文件,最后公开 Release。已公开的同版本不允许覆盖,应发布新标签。 @@ -204,10 +204,10 @@ docker compose logs --tail=50 artex ```bash # 在下载目录运行;先按 SHA256SUMS 核对下载的 ZIP,再解压。 sha256sum --ignore-missing --check SHA256SUMS -unzip artex-0.3.16-linux-arm64.zip +unzip artex-0.3.15-linux-arm64.zip sudo docker stop artex-artex-1 sudo docker cp artex-artex-1:/app/artex ./artex-before-migration -sudo docker cp ./artex-0.3.16-linux-arm64/artex artex-artex-1:/app/artex +sudo docker cp ./artex-0.3.15-linux-arm64/artex artex-artex-1:/app/artex sudo docker start artex-artex-1 curl --fail http://127.0.0.1:8787/api/health ``` @@ -231,7 +231,7 @@ cd ARTEX ```bash cd ARTEX git pull # 更新 compose / 脚本(可选) -# 指定版本:在 .env 设 ARTEX_TAG=v0.3.17;不设则用 latest +# 指定版本:在 .env 设 ARTEX_TAG=v0.3.15;不设则用 latest docker compose pull artex docker compose up -d artex # 换新镜像重启 → 自动迁移 schema docker image prune -f # 清理旧镜像(可选)