91 lines
2.8 KiB
Markdown
91 lines
2.8 KiB
Markdown
---
|
|
name: cc-web-centos7-release
|
|
description: Rebuild and verify the cc-web CentOS 7 compatible Bun baseline single executable release package. Use when the user asks to 打包, 重新打包, build single-exe, CentOS 7 发布包, dist-exe/cc-web-bun-linux-x64-baseline.tar.gz, or asks why Bun/BUN_BIN was needed for this project.
|
|
---
|
|
|
|
# cc-web CentOS 7 Release
|
|
|
|
## Core Rules
|
|
|
|
- Build the CentOS 7 release with `scripts/build-single-exe.js`.
|
|
- The default target must stay `bun-linux-x64-baseline`.
|
|
- The release archive is `dist-exe/cc-web-bun-linux-x64-baseline.tar.gz`.
|
|
- Do not switch this project back to Docker for CentOS 7 compatibility.
|
|
- Do not install NodeSource Node.js 22 on CentOS 7. CentOS 7 has glibc 2.17, while current NodeSource Node.js 22 packages require newer glibc/libstdc++ symbols.
|
|
- Do not bundle Claude/Codex CLI into the release package. cc-web must call host CLIs at runtime through `CLAUDE_PATH`, `CODEX_PATH`, or `PATH`.
|
|
|
|
## Build Workflow
|
|
|
|
1. Check whether `bun` is available:
|
|
|
|
```bash
|
|
command -v bun
|
|
```
|
|
|
|
2. If `bun` is not in `PATH`, reuse an existing local Bun binary before downloading anything:
|
|
|
|
```bash
|
|
find /home /tmp -type f -name bun -perm -111 2>/dev/null | head -50
|
|
```
|
|
|
|
Prefer a baseline binary path like:
|
|
|
|
```text
|
|
/tmp/ccweb-bun.*/node_modules/@oven/bun-linux-x64-baseline/bin/bun
|
|
```
|
|
|
|
3. Build with `BUN_BIN` when using a local/temporary Bun:
|
|
|
|
```bash
|
|
BUN_BIN=/tmp/ccweb-bun.rhfNgd/node_modules/@oven/bun-linux-x64-baseline/bin/bun npm run build:single-exe
|
|
```
|
|
|
|
If `bun` is already in `PATH`, this is enough:
|
|
|
|
```bash
|
|
npm run build:single-exe
|
|
```
|
|
|
|
4. After adding or changing `.codex/skills`, `.agents/skills`, public assets, runtime assets, or server code, rebuild again. The build copies runtime assets into `dist-exe/bun-linux-x64-baseline/` before creating the tarball.
|
|
|
|
## Verification
|
|
|
|
Run lightweight checks before committing:
|
|
|
|
```bash
|
|
node --check server.js
|
|
node --check lib/codex-app-runtime.js
|
|
node --check scripts/mock-codex-app-server.js
|
|
node --check scripts/mock-codex.js
|
|
node --check scripts/regression.js
|
|
node --check public/app.js
|
|
./dist-exe/bun-linux-x64-baseline/cc-web --ccweb-mcp-server
|
|
tar -tzf dist-exe/cc-web-bun-linux-x64-baseline.tar.gz | head
|
|
```
|
|
|
|
For the MCP smoke test, send one JSON-RPC `initialize` request on stdin and expect a valid JSON response. Do not leave the process running.
|
|
|
|
## CentOS 7 Run Command
|
|
|
|
On the target machine, unpack the archive and run the binary from the release directory:
|
|
|
|
```bash
|
|
tar -xzf cc-web-bun-linux-x64-baseline.tar.gz
|
|
cd bun-linux-x64-baseline
|
|
chmod +x cc-web
|
|
PORT=8002 CC_WEB_PASSWORD='请改成强密码' ./cc-web
|
|
```
|
|
|
|
For background execution without PM2:
|
|
|
|
```bash
|
|
nohup env PORT=8002 CC_WEB_PASSWORD='请改成强密码' ./cc-web > logs/cc-web.out 2>&1 &
|
|
```
|
|
|
|
For host CLI paths:
|
|
|
|
```bash
|
|
export CLAUDE_PATH=/usr/local/bin/claude
|
|
export CODEX_PATH=/usr/local/bin/codex
|
|
```
|